Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- sthocastic language
- -- -- programs are run due to events
- -- -- events may or may not conclude
- -- -- action on events decided by a dice roll
- -- object-oriented language
- -- -- inactive objects must be defined as NPC's
- -- -- active objects must be defined as PC's
- -- -- objects defined by using UPPER CASE
- -- language weakly typed, every basic unit is a attribute, namely attr
- -- code lines presented after a $ symbol
- -- attribution and declaration of attributes
- $ attr attr_name::value
- $ attr_name::value
- -- definition and declaration of objects
- $ HERO HERO_NAME(attr[] bio)
- -- definition of functions, namely quest, both inputs, requirements and companion can be ommited
- -- note that the outputs, object and the attributes, are different returns, both can be ommited
- $ quest quest_name(attr[] requirements){...}(attr[] reward, NPC rescue)
- $ quest quest_name(attr[] requirements, NPC companion){...}()
- -- to run an function you must assign it to a PC object
- -- sometimes variable names can be ommited from call via implict declaration
- $ HERO_NAME::quest_name
- $ HERO ARTHAS([strength::10,speed::5])::quest([strength::2,speed:3]){...}()
- -- due to the sthocastic factor of RPG language, you can increase the chances of a quest being succesfully completed by assinging it to a group of PC's
- $ HERO[] PARTY([ARTHAS(...),TYRION(...)])::quest_name
- -- to enable log of events and returnment a quest must have a BARD companion, since its the only object with IO factor
- $ BARD BARD_NAME(attr[] bio, scroll output_log)
- -- the rewards from quests are added to hero bio's, to recover it you must ask the hero, of course a bard have to do it
- -- again its obvious that since read scroll is a quest assigend to the bard, the hero can refuse to share his reward, thus causing the the quest to fail
- $ BARD_NAME::read_scroll(HERO_NAME::attr_name)
- -- as any good rpg, the main story must begin in a tavern
- $ quest tavern(){}()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement