![]() |
Shadowrun: Awakened 29 September 2011 - Build 871
|
00001 #ifndef __SRCONSTANTS_H 00002 #define __SRCONSTANTS_H 00003 00004 #include "SraTypes.h" 00005 00006 //As of 6/20/2010, this is a legacy file that may need to be re-implemented in UnrealScript as needed 00007 00009 //This file was created as a compilation of constant modifiers 00010 //and multipliers from the Shadowrun 4th edition manual 00011 //They are presented in the order they can be found in the book 00012 //and with references to corresponding page numbers 00013 // 00014 //The constants defined in this file must act based on only: 00015 //Race, Attributes, and ad hoc qualities of the game 00016 // 00017 //Constants defined in this file should try to NOT deal with: 00018 //Skills, Creatures, Spells, Adept Abilities, Programs, etc 00019 //These things will each be covered with an extensible system of scripting 00020 //to define behavior; going in-depth here would be too difficult 00022 00023 namespace SraLogic 00024 { 00026 //Game Concepts 00028 00029 //penalty to roll for defaulting to a skill, pg. 54 00030 const int DEFAULTING_PENALTY = -1; 00031 00032 //Difficulty table, pg. 56 00033 //For some tests, just divide the number of dice by this number to calculate hits 00034 const int AUTO_SUCCESS_DIVISOR = 4; 00035 //(number of successes required to succeed == difficulty level) 00036 const int THRESHOLD_EASY = 1; 00037 const int THRESHOLD_AVERAGE = 2; 00038 const int THRESHOLD_HARD = 3; 00039 const int THRESHOLD_EXTREME = 4; 00040 00041 //Calculating Condition Monitor, pg. 65 00042 //The base number of a character's stun damage track, enhanced by Will 00043 const int STUN_DMG_BASE = 8; 00044 //the number which divides a character's will to add to STUN_DMG_BASE 00045 const int STUN_DMG_DIVISOR = 2; 00046 //The base number of a character's physical damage track, enhanced by Bod 00047 const int PHYSICAL_DMG_BASE = 8; 00048 //the number which divies a character's bod to add to PHYSICAL_DMG_BASE 00049 const int PHYSICAL_DMG_DIVISOR = 2; 00050 00052 //Creating a Shadowrunner 00054 00055 //Attribute min/max per races, pg 73 00056 //MIN - The minimum a character can ever posses, at any time, EVER! 00057 //MINSTART - The minimum a character can possess during char gen 00058 //MAXSTART - The maximum a chracter can possess during char gen 00059 //MAX - The maximum a chracter can ever possess, at any time, EVER! 00060 //NOTE: Resonance & Magic are optional to start 00061 const int MIN_RESONANCE = 0; 00062 const int MAXSTART_RESONANCE = 6; 00063 const int MAX_RESONANCE = 6; 00064 00065 const int MIN_MAGIC = 0; 00066 const int MAXSTART_MAGIC = 6; 00067 const int MAX_MAGIC = 6; 00068 00069 //Humans should add HUMAN_EDGE_BONUS to MINSTART_EDGE and MAX_EDGE 00070 const int MIN_EDGE = 0; 00071 const int MINSTART_EDGE = 1; 00072 const int MAXSTART_EDGE = 6; 00073 const int MAX_EDGE = 6; 00074 00075 //Essence starts at INITIAL_ESSENCE and is bought down by cyberware 00076 const int INITIAL_ESS = 6; 00077 const int MIN_ESS = 0; 00078 00079 //Human 00080 const int HUMAN_MIN_BOD = 1; 00081 const int HUMAN_MIN_AGI = 1; 00082 const int HUMAN_MIN_REA = 1; 00083 const int HUMAN_MIN_STR = 1; 00084 const int HUMAN_MIN_CHA = 1; 00085 const int HUMAN_MIN_INT = 1; 00086 const int HUMAN_MIN_LOG = 1; 00087 const int HUMAN_MIN_WIL = 1; 00088 const int HUMAN_MIN_INI = 2; 00089 00090 const int HUMAN_MAXSTART_BOD = 6; 00091 const int HUMAN_MAXSTART_AGI = 6; 00092 const int HUMAN_MAXSTART_REA = 6; 00093 const int HUMAN_MAXSTART_STR = 6; 00094 const int HUMAN_MAXSTART_CHA = 6; 00095 const int HUMAN_MAXSTART_INT = 6; 00096 const int HUMAN_MAXSTART_LOG = 6; 00097 const int HUMAN_MAXSTART_WIL = 6; 00098 const int HUMAN_MAXSTART_INI = 12; 00099 00100 const int HUMAN_MAX_BOD = 9; 00101 const int HUMAN_MAX_AGI = 9; 00102 const int HUMAN_MAX_REA = 9; 00103 const int HUMAN_MAX_STR = 9; 00104 const int HUMAN_MAX_CHA = 9; 00105 const int HUMAN_MAX_INT = 9; 00106 const int HUMAN_MAX_LOG = 9; 00107 const int HUMAN_MAX_WIL = 9; 00108 const int HUMAN_MAX_INI = 18; 00109 00110 const int HUMAN_EDGE_BONUS = 1; 00111 const Vision HUMAN_VISION = NormalVision; 00112 00113 //pg. 138, in meters per turn, varies by race 00114 const int HUMAN_WALK_SPEED = 10; 00115 const int HUMAN_RUN_SPEED = 25; 00116 00117 //Ork 00118 const int ORK_MIN_BOD = 4; 00119 const int ORK_MIN_AGI = 1; 00120 const int ORK_MIN_REA = 1; 00121 const int ORK_MIN_STR = 3; 00122 const int ORK_MIN_CHA = 1; 00123 const int ORK_MIN_INT = 1; 00124 const int ORK_MIN_LOG = 1; 00125 const int ORK_MIN_WIL = 1; 00126 const int ORK_MIN_INI = 2; 00127 00128 const int ORK_MAXSTART_BOD = 9; 00129 const int ORK_MAXSTART_AGI = 6; 00130 const int ORK_MAXSTART_REA = 6; 00131 const int ORK_MAXSTART_STR = 8; 00132 const int ORK_MAXSTART_CHA = 5; 00133 const int ORK_MAXSTART_INT = 6; 00134 const int ORK_MAXSTART_LOG = 5; 00135 const int ORK_MAXSTART_WIL = 6; 00136 const int ORK_MAXSTART_INI = 12; 00137 00138 const int ORK_MAX_BOD = 13; 00139 const int ORK_MAX_AGI = 9; 00140 const int ORK_MAX_REA = 9; 00141 const int ORK_MAX_STR = 12; 00142 const int ORK_MAX_CHA = 7; 00143 const int ORK_MAX_INT = 9; 00144 const int ORK_MAX_LOG = 7; 00145 const int ORK_MAX_WIL = 9; 00146 const int ORK_MAX_INI = 18; 00147 00148 const Vision ORK_VISION =(Vision)(NormalVision | LowLightVision); 00149 00150 const int ORK_WALK_SPEED = 10; 00151 const int ORK_RUN_SPEED = 25; 00152 00153 //Dwarf 00154 const int DWARF_MIN_BOD = 2; 00155 const int DWARF_MIN_AGI = 1; 00156 const int DWARF_MIN_REA = 1; 00157 const int DWARF_MIN_STR = 3; 00158 const int DWARF_MIN_CHA = 1; 00159 const int DWARF_MIN_INT = 1; 00160 const int DWARF_MIN_LOG = 1; 00161 const int DWARF_MIN_WIL = 2; 00162 const int DWARF_MIN_INI = 2; 00163 00164 const int DWARF_MAXSTART_BOD = 7; 00165 const int DWARF_MAXSTART_AGI = 6; 00166 const int DWARF_MAXSTART_REA = 5; 00167 const int DWARF_MAXSTART_STR = 8; 00168 const int DWARF_MAXSTART_CHA = 6; 00169 const int DWARF_MAXSTART_INT = 6; 00170 const int DWARF_MAXSTART_LOG = 6; 00171 const int DWARF_MAXSTART_WIL = 7; 00172 const int DWARF_MAXSTART_INI = 11; 00173 00174 const int DWARF_MAX_BOD = 10; 00175 const int DWARF_MAX_AGI = 9; 00176 const int DWARF_MAX_REA = 7; 00177 const int DWARF_MAX_STR = 12; 00178 const int DWARF_MAX_CHA = 9; 00179 const int DWARF_MAX_INT = 9; 00180 const int DWARF_MAX_LOG = 9; 00181 const int DWARF_MAX_WIL = 10; 00182 const int DWARF_MAX_INI = 16; 00183 00184 const Vision DWARF_VISION = (Vision)(NormalVision | ThermographicVision); 00185 const int DWARF_PATHOGEN_BONUS = 2; 00186 00187 const int DWARF_WALK_SPEED = 8; 00188 const int DWARF_RUN_SPEED = 20; 00189 00190 //Elf 00191 const int ELF_MIN_BOD = 1; 00192 const int ELF_MIN_AGI = 2; 00193 const int ELF_MIN_REA = 1; 00194 const int ELF_MIN_STR = 1; 00195 const int ELF_MIN_CHA = 3; 00196 const int ELF_MIN_INT = 1; 00197 const int ELF_MIN_LOG = 1; 00198 const int ELF_MIN_WIL = 1; 00199 const int ELF_MIN_INI = 2; 00200 00201 const int ELF_MAXSTART_BOD = 6; 00202 const int ELF_MAXSTART_AGI = 7; 00203 const int ELF_MAXSTART_REA = 6; 00204 const int ELF_MAXSTART_STR = 6; 00205 const int ELF_MAXSTART_CHA = 8; 00206 const int ELF_MAXSTART_INT = 6; 00207 const int ELF_MAXSTART_LOG = 6; 00208 const int ELF_MAXSTART_WIL = 6; 00209 const int ELF_MAXSTART_INI = 12; 00210 00211 const int ELF_MAX_BOD = 9; 00212 const int ELF_MAX_AGI = 10; 00213 const int ELF_MAX_REA = 9; 00214 const int ELF_MAX_STR = 9; 00215 const int ELF_MAX_CHA = 12; 00216 const int ELF_MAX_INT = 9; 00217 const int ELF_MAX_LOG = 9; 00218 const int ELF_MAX_WIL = 9; 00219 const int ELF_MAX_INI = 18; 00220 00221 const Vision ELF_VISION = (Vision)(NormalVision | LowLightVision); 00222 00223 const int ELF_WALK_SPEED = 10; 00224 const int ELF_RUN_SPEED = 25; 00225 00226 //Trolls 00227 const int TROLL_MIN_BOD = 5; 00228 const int TROLL_MIN_AGI = 1; 00229 const int TROLL_MIN_REA = 1; 00230 const int TROLL_MIN_STR = 5; 00231 const int TROLL_MIN_CHA = 1; 00232 const int TROLL_MIN_INT = 1; 00233 const int TROLL_MIN_LOG = 1; 00234 const int TROLL_MIN_WIL = 1; 00235 const int TROLL_MIN_INI = 2; 00236 00237 const int TROLL_MAXSTART_BOD = 10; 00238 const int TROLL_MAXSTART_AGI = 5; 00239 const int TROLL_MAXSTART_REA = 6; 00240 const int TROLL_MAXSTART_STR = 10; 00241 const int TROLL_MAXSTART_CHA = 4; 00242 const int TROLL_MAXSTART_INT = 5; 00243 const int TROLL_MAXSTART_LOG = 5; 00244 const int TROLL_MAXSTART_WIL = 6; 00245 const int TROLL_MAXSTART_INI = 11; 00246 00247 const int TROLL_MAX_BOD = 15; 00248 const int TROLL_MAX_AGI = 7; 00249 const int TROLL_MAX_REA = 9; 00250 const int TROLL_MAX_STR = 15; 00251 const int TROLL_MAX_CHA = 6; 00252 const int TROLL_MAX_INT = 7; 00253 const int TROLL_MAX_LOG = 7; 00254 const int TROLL_MAX_WIL = 9; 00255 const int TROLL_MAX_INI = 16; 00256 00257 const Vision TROLL_VISION = (Vision)(NormalVision | ThermographicVision); 00258 const int TROLL_REACH_BONUS = 1; 00259 const int TROLL_ARMOR_BONUS = 1; 00260 00261 const int TROLL_WALK_SPEED = 15; 00262 const int TROLL_RUN_SPEED = 35; 00263 00265 //Skills 00267 00268 //The skill ratings for a given magnitude of skill 00269 //Using these instead of the rating for NPC generators may help tweak difficulty in the future 00270 //pg. 108 & 109 00271 const int SKILL_RATING_UNTRAINED = 0; 00272 const int SKILL_RATING_BEGINNER = 1; 00273 const int SKILL_RATING_NOVICE = 2; 00274 const int SKILL_RATING_PROFESSIONAL = 3; 00275 const int SKILL_RATING_VETERAN = 4; 00276 const int SKILL_RATING_EXPORT = 5; 00277 const int SKILL_RATING_ELITE = 6; 00278 const int SKILL_RATING_LEGENDARY = 7; 00279 00280 //Bonus added to rolls when character has a specialization 00281 //NOTE: Not likely to be used in 1.0! 00282 //pg. 109 00283 const int SKILL_SPECIALIZATION_BONUS = 2; 00284 00285 //This is the modifiers to perception tests pg. 117 00286 const int PERCEIVER_DISTACTED_PENALTY = -2; 00287 const int PERCEIVER_ALERT = 0; 00288 const int PERCEIVER_ACTIVELY_LOOKING = +3; 00289 const int PERCEIVER_USING_VIRTUAL_REALITY = -6; 00290 00291 const int SOUND_IMMEDIATE_VICINITY = 0; 00292 const int SOUND_NOT_IMMEDIATE_VICINITY = -2; 00293 const int SOUND_FAR_AWAY = -3; 00294 00295 const int SOUND_INTERFERING = -2; 00296 00297 const int SIGHT_IMMEDIATE_VICINITY = 0; 00298 const int SIGHT_NOT_IMMEDIATE_VICINITY = -2; 00299 const int SIGHT_FAR_AWAY = -3; 00300 00302 //Combat 00304 00305 //pg. 155, ad hoc bonus for being previously aware or the surprise on a surprise test 00306 const int AWARE_SURPRISE_TEST = 3; 00307 00308 //Ranged combat modifiers pg. 140 00309 const int RANGED_AIMED_SHOT_BONUS = 1; 00310 const int RANGED_ATTACKER_RUNNING = -2; 00311 const int RANGED_ATTACKER_IN_MELEE = -3; 00312 const int RANGED_ATTACKER_IN_VEHICLE = -3; 00313 const int RANGED_ATTACKER_HAS_SMARTLINK = 2; 00314 const int RANGED_ATTACKER_HAS_LASERSIGHT = 1; 00315 const int RANGED_ATTACKER_HAS_OFFHANDWEAPON = -2; 00316 00317 const int RANGED_ATTACKER_HAS_COVER = -1; 00318 const int RANGED_TARGET_PARTIAL_COVER = -2; 00319 const int RANGED_TARGET_GOOD_COVER = -4; 00320 const int RANGED_TARGET_TOTAL_COVER = -6; 00321 00322 const int RECOIL_FIRST_SEMIAUTO = 0; 00323 const int RECOIL_SECOND_SEMIAUTO = -1; 00324 const int RECOIL_FIRST_BURST = -2; 00325 const int RECOIL_SECOND_BURST = -3; 00326 const int RECOIL_FIRST_LONGBURST = -5; 00327 const int RECOIL_SECOND_LONGBURST = -6; 00328 const int RECOIL_FULLAUTO = -9; 00329 const int RECOIL_HEAVY_MULTIPLIER = 2; 00330 00331 //pg. 139, range types (out of order with above to reference RANGED_TARGET_HIDDEN) 00332 //This number should be added to the number of dice 00333 //a ranged attacker rolls on their attack 00334 const int RANGE_PENALTY_SHORT = 0; 00335 const int RANGE_PENALTY_MEDIUM = -1; 00336 const int RANGE_PENALTY_LONG = -2; 00337 const int RANGE_PENALTY_EXTREME = -3; 00338 const int RANGE_PENALTY_BEYOND_EXTREME = RANGED_TARGET_TOTAL_COVER; 00339 00340 //Visibility table pg. 140 00341 const int VISIBILITY_FULLDARK_NORMAL = -6; 00342 const int VISIBILITY_FULLDARK_LOWLIGHT = -6; 00343 const int VISIBILITY_FULLDARK_THERMOGRAPHIC = -3; 00344 const int VISIBILITY_FULLDARK_ASTRAL = 0; 00345 00346 const int VISIBILITY_PARTIALLIGHT_NORMAL = -2; 00347 const int VISIBILITY_PARTIALLIGHT_LOWLIGHT = 0; 00348 const int VISIBILITY_PARTIALLIGHT_THERMOGRAPHIC = -2; 00349 const int VISIBILITY_PARTIALLIGHT_ASTRAL = 0; 00350 00351 const int VISIBILITY_GLARE_NORMAL = -1; 00352 const int VISIBILITY_GLARE_LOWLIGHT = -1; 00353 const int VISIBILITY_GLARE_THERMOGRAPHIC = -1; 00354 const int VISIBILITY_GLARE_ASTRAL = 0; 00355 00356 const int VISIBILITY_LIGHTFOG_NORMAL = -2; 00357 const int VISIBILITY_LIGHTFOG_LOWLIGHT = -1; 00358 const int VISIBILITY_LIGHTFOG_THERMOGRAPHIC = 0; 00359 const int VISIBILITY_LIGHTFOG_ASTRAL = 0; 00360 00361 const int VISIBILITY_HEAVYFOG_NORMAL = -4; 00362 const int VISIBILITY_HEAVYFOG_LOWLIGHT = -2; 00363 const int VISIBILITY_HEAVYFOG_THERMOGRAPHIC = -2; 00364 const int VISIBILITY_HEAVYFOG_ASTRAL = 0; 00365 00366 const int VISIBILITY_THERMALSMOKE_NORMAL = -4; 00367 const int VISIBILITY_THERMALSMOKE_LOWLIGHT = -2; 00368 const int VISIBILITY_THERMALSMOKE_THERMOGRAPHIC = -6; 00369 const int VISIBILITY_THERMALSMOKE_ASTRAL = 0; 00370 00371 //melee combat modifiers, pg 148 00372 const int MELEE_ATTACKER_FRIENDS_IN_MELEE = 1; 00373 //const int MELEE_ATTACKER_SUPERIOR_POSITION = 2; 00374 const int MELEE_ATTACKER_CHARGING = 2; 00375 const int MELEE_ATTACKER_OPPONENT_PRONE = 3; 00376 //const int MELEE_DEFENDER_RECEIVING_CHARGE = 1; 00377 const int MELEE_TOUCH_ONLY_ATTACK = 2; 00378 00379 00380 //defense modifiers pg. 151 00381 const int AVAILABLE_DICE_WHEN_DEFENDER_UNAWARE = 0; 00382 const int DEFENDER_PRONE = -2; 00383 00384 //ranged attacks ONLY 00385 const int DEFENDER_RUNNING = 2; 00386 const int DEFENDER_IN_MELEE_AGAINST_RANGED = -3; 00387 const int DEFENDER_AGAINST_WIDE_BURST = -2; 00388 const int DEFENDER_AGAINST_LONG_WIDE_BURST = -5; 00389 const int DEFENDER_AGAINST_FULL_AUTO_WIDE_BURST = -9; 00390 const int DEFENDER_AGAINST_SHOTGUN_MEDIUM_SPREAD = -2; 00391 const int DEFENDER_AGAINST_SHOTFUN_WIDE_SPREAD = -4; 00392 const int DEFENDER_AGAINST_AREA_ATTACK = -2; 00393 00394 //Wound modifier, pg 153 00395 const int WOUNDMODIFIER_DIVISOR = 3; 00396 00397 //materials armor ratings, pg 157 00398 //standard glass 00399 const int MATERIAL_FRAGILE = 1; 00400 //drywall, plaster, interior door 00401 const int MATERIAL_CHEAP = 2; 00402 //tree, furniture, plastiboard, ballistic glass 00403 const int MATERIAL_AVERAGE = 4; 00404 //hardwood, dataterm, lightpost, chain link 00405 const int MATERIAL_HEAVY = 6; 00406 //densiplast, security door, armored glass, kevlar wallboard 00407 const int MATERIAL_REINFORCED = 8; 00408 //brick, plastcrete 00409 const int MATERIAL_STRUCTURAL = 12; 00410 //concrete, metal beams 00411 const int MATERIAL_HEAVY_STRUCTURAL = 16; 00412 //reinforced concrete 00413 const int MATERIAL_ARMORED_REINFORCED = 24; 00414 //blast bunker 00415 const int MATERIAL_HARDENED = 32; 00416 00417 //damage against barrier, pg 158 00418 //When rolling resistance for materials, multiply armor rating by this 00419 //value against non-explosive, non-spell attacks 00420 const int BARRIER_RESISTANCE_MULTIPLIER = 2; 00421 //dmg per attack 00422 const int BARRIER_DMG_MELEE = 1; 00423 //dmg per projectile 00424 const int BARRIER_DMG_PROJECTILE = 1; 00425 //dmg per bullet 00426 const int BARRIER_DMG_BULLET = 2; 00427 //dmg multiplier per explosion dmg (multiple normal DV) 00428 const int BARRIER_DMG_EXPLOSIVE_MULTIPLIER = 2; 00429 //dmg multiplier per rocket dmg (multiple normal DV) 00430 const int BARRIER_DMG_AVROCKET_MULTIPLIER = 3; 00431 //dmg multiplier per combat spell dmg (multiple normal DV) 00432 const int BARRIER_DMG_COMBATSPELL_MULTIPLIER = 1; 00433 00434 //Vehicle combat omitted for future versions 00435 00437 //The Awakened World 00439 00440 //Object Resistance, pg. 174 00441 //trees, soil, unprocessed water 00442 const int OBJECTRESISTANCE_NATURAL_OBJECT = 1; 00443 //brick, leather, simple plastics 00444 const int OBJECTRESISTANCE_LOWTECH = 2; 00445 //advanced plastics, allows, electronics 00446 const int OBJECTRESISTANCE_HIGHTECH = 3; 00447 //computers, toxic waste, drones, vehicles 00448 const int OBJECTRESISTANCE_ULTATECH = 4; 00449 00450 //Assensing table, pg. 183 00451 //Each of these is a feature defined in the table, its assigned 00452 //value is the number of successes required to extract its information 00453 const int ASSENSING_GENERALHEALTH = 1; 00454 const int ASSENSING_GENERALEMOTIONS = 1; 00455 const int ASSENSING_MUNDANREORAWAKENED = 1; 00456 00457 const int ASSENSING_BASIC_CYBERWARE = 2; 00458 const int ASSENSING_CLASSOFMAGIC = 2; 00459 const int ASSENSING_SEENAURABEFORE = 2; 00460 00461 const int ASSENSING_ALPHA_CYBERWARE = 3; 00462 const int ASSENSING_MAGIC_HIGHERORLOWER = 3; 00463 const int ASSENSING_GENERAL_DISEASEORTOXIN = 3; 00464 00465 const int ASSENSING_BETA_CYBERWARE = 4; 00466 const int ASSENSING_BIOWARE = 4; 00467 const int ASSENSING_MAGIC_EXACT = 4; 00468 const int ASSENSING_EXACT_DISEASEORTOXIN = 4; 00469 00470 const int ASSENSING_TECHNOMANCER = 5; 00471 const int ASSENSING_CAUSEOFEMOTION = 5; 00472 00473 //Mapping of astral attributes, pg 184 00474 const Attribute ASTRAL_AGILITY = Logic; 00475 const Attribute ASTRAL_BODY = Willpower; 00476 const Attribute ASTRAL_REACTION = Intuition; 00477 const Attribute ASTRAL_STRENGTH = Charisma; 00478 const Attribute ASTRAL_INITIATIVE = Intuition; 00479 //astral initiative is rating of ASTRAL_INITIATIVE 00480 //attribute times ASTRAL_INITIATIVE_MULTIPLIER 00481 const int ASTRAL_INITIATIVE_MULTIPLIER = 2; 00482 const int ASTRAL_INITIATIVE_PASSES =3; 00483 00485 //The Wireless World 00487 00488 //Signal ranges in meters, pg. 212 00489 const int SIGNAL_RANGE_0 = 3; 00490 const int SIGNAL_RANGE_1 = 40; 00491 const int SIGNAL_RANGE_2 = 100; 00492 const int SIGNAL_RANGE_3 = 400; 00493 const int SIGNAL_RANGE_4 = 1000; //1km 00494 const int SIGNAL_RANGE_5 = 4000; //4km 00495 const int SIGNAL_RANGE_6 = 10000; //10km 00496 const int SIGNAL_RANGE_7 = 40000; //40km 00497 const int SIGNAL_RANGE_8 = 100000; //100km 00498 const int SIGNAL_RANGE_9 = 400000; //400km 00499 00500 //Device rating, pg. 214 00501 //general appliance, bodyware 00502 const int DEVICE_RATING_DUMB = 1; 00503 //public terminal, entertainment system 00504 const int DEVICE_RATING_SIMPLE = 2; 00505 //standard personal electronics, headware, vehicles, drones, home/business terminals 00506 const int DEVICE_RATING_AVERAGE = 3; 00507 //security vehicles, alphaware, research terminal, security device 00508 const int DEVICE_RATING_COMPLEX = 4; 00509 //high-end devices, betaware, security terminals, military vehicles 00510 const int DEVICE_RATING_SMART = 5; 00511 //deltaware, credsticks 00512 const int DEVICE_RATING_CUTTINGEDGE = 6; 00513 00514 //search table, number of successes for a computer search, pg. 220 00515 const int SEARCH_EASY = 2; 00516 const int SEARCH_AVERAGE = 4; 00517 const int SEARCH_HARD = 8; 00518 const int SEARCH_EXTREME = 16; 00519 00520 //Living persona table, pg. 233 00521 const Attribute PERSONA_FIREWALL = Willpower; 00522 const Attribute PERSONA_RESPONSE = Intuition; 00523 const int PERSONA_RESPONSE_FULLVRBONUS = 1; 00524 //Persona signal is 00525 //(rating of PERSONA_SIGNAL /PERSONA_SIGNAL_DIVISOR) round up 00526 const Attribute PERSONA_SIGNAL = Resonance; 00527 const int PERSONA_SIGNAL_DIVISOR = 2; 00528 const Attribute PERSONA_SYSTEM = Logic; 00529 const Attribute PERSONA_BIOFEEDBACKFILTER = Charisma; 00530 //VR Matrix INI = 00531 //(rating of PERSONA_MATRIX_INI x PERSONA_MATRIX_INI_MULTIPLIER) + PERSONA_MATRIX_INI_BONUS 00532 const Attribute PERSONA_MATRIXINI = Intuition; 00533 const int PERSONA_MATRIXINI_MULTIPLIER = 2; 00534 const int PERSONA_MATRIXINI_BONUS = 1; 00535 const int PERSONA_MATRIXINI_PASSES = 3; 00536 00538 //Running the Shadows 00540 00541 //Healing table, die penalties in healing situations, pg. 244 00542 //hospital 00543 const int HEALING_CONDITIONS_GOOD = 0; 00544 //indoors 00545 const int HEALING_CONDITIONS_AVERAGE = -1; 00546 //street or wilderness 00547 const int HEALING_CONDITIONS_POOR = -2; 00548 //combat, bad weather, swamp 00549 const int HEALING_CONDITIONS_BAD = -3; 00550 //fire, severe storm 00551 const int HEALING_CONDITIONS_TERRIBLE = -4; 00552 00553 const int HEALING_NOMEDKIT = -3; 00554 const int HEALING_REMOTELY = -2; 00555 const int HEALING_ASSISTANT = 1; 00556 const int HEALING_PATIENT_UNCOOPERATIVE = -2; 00557 const int HEALING_PATIENT_MAGICIAN = -2; 00558 const int HEALING_PATIENT_ADEPT= -2; 00559 const int HEALING_PATIENT_TECHNOMANCER = -2; 00560 //-1 per 2 essence points lost 00561 //(INITIAL_ESSENCE - current essence)/HEALING_ESSENCE_MULTIPLIER 00562 const int HEALING_ESSENCE_MULTIPLIER = 2; 00563 00564 //Karma costs, all improvement multipliers go against new rating, pg. 264 00565 const int KARMA_NEW_SPECIALIZATION = 2; 00566 const int KARMA_NEW_KNOWLEDGE = 2; 00567 const int KARMA_NEW_ACTIVE = 4; 00568 const int KARMA_NEW_GROUP = 10; 00569 const int KARMA_NEW_SPELL = 5; 00570 const int KARMA_NEW_COMPLEXFORM = 2; 00571 00572 const int KARMA_IMPROVE_KNOWLEDGE_MULIPLIER = 1; 00573 const int KARMA_IMPROVE_ACTIVE_MULIPLIER = 2; 00574 const int KARMA_IMPROVE_GROUP_MULIPLIER = 5; 00575 const int KARMA_IMPROVE_ATTRIBUTE_MULIPLIER = 3; 00576 const int KARMA_IMPROVE_COMPLEXFORM_MULTIPLIER = 1; 00577 00578 const int KARMA_ADD_POSITIVE_QUALITY_MULTIPLIER = 2; 00579 const int KARMA_REMOVE_NEGATIVE_QUALITY_MULTIPLIER = 2; 00580 00582 //Friends and Foes 00584 00585 //Minor NPC damage track multiplier, pg. 272 00586 //NPCs have fewer boxes than PCs 00587 //They only possess MINORNPC_DMG_BASE + MINORNPC_DMG_MULTIPLIER * (the higher of body or will) 00588 const float MINORNPC_DMG_MULTIPLIER = 1.5f; 00589 const int MINORNPC_DMG_BASE = 8; 00590 const int MAJORNPC_DMG_BASE = 8; 00591 00592 //Professional Rating, pg. 272 00593 const float PROFESSIONALRATING_ACCEPTABLELOSSES_UNTRAINED = 0.25f; 00594 const float PROFESSIONALRATING_ACCEPTABLELOSSES_SEMITRAINED = 0.5f; 00595 const float PROFESSIONALRATING_ACCEPTABLELOSSES_TRAINED = 0.75f; 00596 const float PROFESSIONALRATING_ACCEPTABLELOSSES_ELITE = 1.0f; 00597 00599 //Street Gear 00601 00602 //Concealability Modifiers, pg. 302 00603 //RFID tag, bug, slap patch, micro-drone 00604 const int CONCEALABILITY_MINISCULE = -6; 00605 //holdout pistol, monowhip, ammo, credstick, chips 00606 const int CONCEALABILITY_TINY = -4; 00607 //light pistol, knife, sap, microgrenade, flash-pack, jammer, mini-drone 00608 const int CONCEALABILITY_SMALL = -2; 00609 //heavy pistol, taster, grenade, goggles, commlink 00610 const int CONCEALABILITY_MEDIUM = 0; 00611 //machine pistol, medkit, club 00612 const int CONCEALABILITY_BIG = 2; 00613 //SMG, stun baton, sword 00614 const int CONCEALABILITY_LARGE = 4; 00615 //Assault Rifle, Katana 00616 const int CONCEALABILITY_HUGE = 6; 00617 } 00618 00619 #endif
Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.