mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
123 lines
4.3 KiB
Plaintext
123 lines
4.3 KiB
Plaintext
#define GAME_STATE_PREGAME 1
|
|
#define GAME_STATE_SETTING_UP 2
|
|
#define GAME_STATE_PLAYING 3
|
|
#define GAME_STATE_FINISHED 4
|
|
|
|
// Security levels.
|
|
#define SEC_LEVEL_GREEN 0
|
|
#define SEC_LEVEL_BLUE 1
|
|
#define SEC_LEVEL_RED 2
|
|
#define SEC_LEVEL_DELTA 3
|
|
|
|
#define BE_TRAITOR 0x1
|
|
#define BE_OPERATIVE 0x2
|
|
#define BE_CHANGELING 0x4
|
|
#define BE_WIZARD 0x8
|
|
#define BE_MALF 0x10
|
|
#define BE_REV 0x20
|
|
#define BE_ALIEN 0x40
|
|
#define BE_AI 0x80
|
|
#define BE_CULTIST 0x100
|
|
#define BE_MONKEY 0x200
|
|
#define BE_NINJA 0x400
|
|
#define BE_RAIDER 0x800
|
|
#define BE_PLANT 0x1000
|
|
#define BE_MUTINEER 0x2000
|
|
#define BE_PAI 0x4000
|
|
#define BE_LOYALIST 0x8000
|
|
|
|
var/list/be_special_flags = list(
|
|
"Traitor" = BE_TRAITOR,
|
|
"Operative" = BE_OPERATIVE,
|
|
"Changeling" = BE_CHANGELING,
|
|
"Wizard" = BE_WIZARD,
|
|
"Malf AI" = BE_MALF,
|
|
"Revolutionary" = BE_REV,
|
|
"Loyalist" = BE_LOYALIST,
|
|
"Xenomorph" = BE_ALIEN,
|
|
"Positronic Brain" = BE_AI,
|
|
"Cultist" = BE_CULTIST,
|
|
"Monkey" = BE_MONKEY,
|
|
"Ninja" = BE_NINJA,
|
|
"Raider" = BE_RAIDER,
|
|
"Diona" = BE_PLANT,
|
|
"Mutineer" = BE_MUTINEER,
|
|
"pAI" = BE_PAI
|
|
)
|
|
|
|
#define IS_MODE_COMPILED(MODE) (ispath(text2path("/datum/game_mode/"+(MODE))))
|
|
|
|
|
|
// Antagonist datum flags.
|
|
#define ANTAG_OVERRIDE_JOB 0x1 // Assigned job is set to MODE when spawning.
|
|
#define ANTAG_OVERRIDE_MOB 0x2 // Mob is recreated from datum mob_type var when spawning.
|
|
#define ANTAG_CLEAR_EQUIPMENT 0x4 // All preexisting equipment is purged.
|
|
#define ANTAG_CHOOSE_NAME 0x8 // Antagonists are prompted to enter a name.
|
|
#define ANTAG_IMPLANT_IMMUNE 0x10 // Cannot be loyalty implanted.
|
|
#define ANTAG_SUSPICIOUS 0x20 // Shows up on roundstart report.
|
|
#define ANTAG_HAS_LEADER 0x40 // Generates a leader antagonist.
|
|
#define ANTAG_HAS_NUKE 0x80 // Will spawn a nuke at supplied location.
|
|
#define ANTAG_RANDSPAWN 0x100 // Potentially randomly spawns due to events.
|
|
#define ANTAG_VOTABLE 0x200 // Can be voted as an additional antagonist before roundstart.
|
|
#define ANTAG_SET_APPEARANCE 0x400 // Causes antagonists to use an appearance modifier on spawn.
|
|
|
|
// Mode/antag template macros.
|
|
#define MODE_BORER "borer"
|
|
#define MODE_LOYALIST "loyalist"
|
|
#define MODE_MUTINEER "mutineer"
|
|
#define MODE_COMMANDO "commando"
|
|
#define MODE_DEATHSQUAD "deathsquad"
|
|
#define MODE_ERT "ert"
|
|
#define MODE_MERCENARY "mercenary"
|
|
#define MODE_NINJA "ninja"
|
|
#define MODE_RAIDER "raider"
|
|
#define MODE_WIZARD "wizard"
|
|
#define MODE_CHANGELING "changeling"
|
|
#define MODE_CULTIST "cultist"
|
|
#define MODE_HIGHLANDER "highlander"
|
|
#define MODE_MONKEY "monkey"
|
|
#define MODE_RENEGADE "renegade"
|
|
#define MODE_REVOLUTIONARY "revolutionary"
|
|
#define MODE_LOYALIST "loyalist"
|
|
#define MODE_MALFUNCTION "malf"
|
|
#define MODE_TRAITOR "traitor"
|
|
|
|
#define DEFAULT_TELECRYSTAL_AMOUNT 12
|
|
|
|
/////////////////
|
|
////WIZARD //////
|
|
/////////////////
|
|
|
|
/* WIZARD SPELL FLAGS */
|
|
#define GHOSTCAST 0x1 //can a ghost cast it?
|
|
#define NEEDSCLOTHES 0x2 //does it need the wizard garb to cast? Nonwizard spells should not have this
|
|
#define NEEDSHUMAN 0x4 //does it require the caster to be human?
|
|
#define Z2NOCAST 0x8 //if this is added, the spell can't be cast at centcomm
|
|
#define STATALLOWED 0x10 //if set, the user doesn't have to be conscious to cast. Required for ghost spells
|
|
#define IGNOREPREV 0x20 //if set, each new target does not overlap with the previous one
|
|
//The following flags only affect different types of spell, and therefore overlap
|
|
//Targeted spells
|
|
#define INCLUDEUSER 0x40 //does the spell include the caster in its target selection?
|
|
#define SELECTABLE 0x80 //can you select each target for the spell?
|
|
//AOE spells
|
|
#define IGNOREDENSE 0x40 //are dense turfs ignored in selection?
|
|
#define IGNORESPACE 0x80 //are space turfs ignored in selection?
|
|
//End split flags
|
|
#define CONSTRUCT_CHECK 0x100 //used by construct spells - checks for nullrods
|
|
#define NO_BUTTON 0x200 //spell won't show up in the HUD with this
|
|
|
|
//invocation
|
|
#define SpI_SHOUT "shout"
|
|
#define SpI_WHISPER "whisper"
|
|
#define SpI_EMOTE "emote"
|
|
#define SpI_NONE "none"
|
|
|
|
//upgrading
|
|
#define Sp_SPEED "speed"
|
|
#define Sp_POWER "power"
|
|
#define Sp_TOTAL "total"
|
|
|
|
//casting costs
|
|
#define Sp_RECHARGE "recharge"
|
|
#define Sp_CHARGES "charges"
|
|
#define Sp_HOLDVAR "holdervar" |