mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-14 09:27:45 +01:00
Baystation12 merchant port (#3155)
Port of the merchant mechanics from baystation12. All of the trader, prices and most essential system are done, as well the job datum and the like. Mapping the shuttle, the base and a new dock will be done in a later pr. Also adds phazon construction and several other items used in this pr. The chance of the merchant slow being open at round start can be changed via the config, it is 20% by default.
This commit is contained in:
@@ -29,6 +29,9 @@
|
||||
supernatural = 1
|
||||
see_in_dark = 8
|
||||
see_invisible = SEE_INVISIBLE_NOLIGHTING
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
var/nullblock = 0
|
||||
|
||||
mob_swap_flags = HUMAN|SIMPLE_ANIMAL|SLIME|MONKEY
|
||||
@@ -37,6 +40,7 @@
|
||||
var/list/construct_spells = list()
|
||||
var/can_repair = 0
|
||||
|
||||
|
||||
/mob/living/simple_animal/construct/cultify()
|
||||
return
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
heat_damage_per_tick = 20
|
||||
mob_size = 10
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/alien/drone
|
||||
name = "alien drone"
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
/mob/living/simple_animal/hostile/scarybat/cult
|
||||
faction = "cult"
|
||||
supernatural = 1
|
||||
tameable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/scarybat/cult/cultify()
|
||||
return
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
mob_swap_flags = HUMAN|SIMPLE_ANIMAL|SLIME|MONKEY
|
||||
mob_push_flags = ALLMOBS
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
response_help = "pets"
|
||||
response_disarm = "shoves"
|
||||
response_harm = "harmlessly punches"
|
||||
@@ -34,23 +36,23 @@
|
||||
min_oxy = 0
|
||||
max_co2 = 0
|
||||
max_tox = 0
|
||||
|
||||
|
||||
var/is_devouring = FALSE
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/Initialize()
|
||||
. = ..()
|
||||
if(prob(25))
|
||||
icon_state = "horror_alt"
|
||||
icon_living = "horror_alt"
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/Life()
|
||||
..()
|
||||
adjustBruteLoss(-10) //it will slowly heal brute damage, making fire/laser a stronger option
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/mind_initialize()
|
||||
..()
|
||||
mind.assigned_role = "Changeling"
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/death(gibbed)
|
||||
..()
|
||||
if(!gibbed)
|
||||
@@ -110,7 +112,7 @@
|
||||
last_special = world.time + 100
|
||||
src.is_devouring = FALSE
|
||||
return
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/verb/dart(mob/living/target as mob in oview())
|
||||
set name = "Launch Bone Dart"
|
||||
set desc = "Launches a Bone Dart at a target."
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
known_commands = list("stay", "stop", "attack", "follow", "dance", "boogie", "boogy")
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/commanded/bear/hit_with_weapon(obj/item/O, mob/living/user, var/effective_force, var/hit_zone)
|
||||
. = ..()
|
||||
if(!.)
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
speed = 4
|
||||
mob_size = 14
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/creature/cult
|
||||
faction = "cult"
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
health = 80
|
||||
environment_smash = 2
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
harm_intent_damage = 10
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
minbodytemp = 0
|
||||
speed = 4
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/hivebot/range
|
||||
name = "Hivebot"
|
||||
desc = "A smallish robot, this one is armed!"
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/proc/FindTarget()
|
||||
|
||||
if(!faction) //No faction, no reason to attack anybody.
|
||||
return null
|
||||
|
||||
var/atom/T = null
|
||||
stop_automated_movement = 0
|
||||
for(var/atom/A in ListTargets(10))
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
faction = "mimic"
|
||||
move_to_delay = 8
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/mimic/FindTarget()
|
||||
. = ..()
|
||||
if(.)
|
||||
|
||||
@@ -37,3 +37,5 @@
|
||||
heat_damage_per_tick = 15 //amount of damage applied if animal's body temperature is higher than maxbodytemp
|
||||
cold_damage_per_tick = 10 //same as heat_damage_per_tick, only if the bodytemperature it's lower than minbodytemp
|
||||
unsuitable_atoms_damage = 10
|
||||
|
||||
tameable = FALSE
|
||||
@@ -49,6 +49,8 @@
|
||||
var/has_loot = 1
|
||||
faction = "malf_drone"
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/malf_drone/Initialize()
|
||||
. = ..()
|
||||
if(prob(5))
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
faction = "russian"
|
||||
status_flags = CANPUSH
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/russian/ranged
|
||||
icon_state = "russianranged"
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
faction = "syndicate"
|
||||
status_flags = CANPUSH
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/death()
|
||||
..()
|
||||
if(corpse)
|
||||
@@ -159,6 +161,8 @@
|
||||
max_n2 = 0
|
||||
minbodytemp = 0
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/viscerator/death()
|
||||
..(null,"is smashed into pieces!")
|
||||
var/T = get_turf(src)
|
||||
|
||||
@@ -100,6 +100,8 @@
|
||||
var/can_nap = 0
|
||||
var/icon_rest = null
|
||||
|
||||
var/tameable = TRUE //if you can tame it, used by the dociler for now
|
||||
|
||||
/mob/living/simple_animal/proc/beg(var/atom/thing, var/atom/holder)
|
||||
visible_emote("gazes longingly at [holder]'s [thing]",0)
|
||||
|
||||
|
||||
@@ -329,16 +329,16 @@
|
||||
character.buckled.set_dir(character.dir)
|
||||
|
||||
SSticker.mode.handle_latejoin(character)
|
||||
|
||||
if(character.mind.assigned_role != "Cyborg")
|
||||
data_core.manifest_inject(character)
|
||||
SSticker.minds += character.mind //Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn
|
||||
if(SSjobs.ShouldCreateRecords(rank))
|
||||
if(character.mind.assigned_role != "Cyborg")
|
||||
data_core.manifest_inject(character)
|
||||
SSticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn
|
||||
|
||||
//Grab some data from the character prefs for use in random news procs.
|
||||
|
||||
AnnounceArrival(character, rank, join_message)
|
||||
else
|
||||
AnnounceCyborg(character, rank, join_message)
|
||||
AnnounceArrival(character, rank, join_message)
|
||||
else
|
||||
AnnounceCyborg(character, rank, join_message)
|
||||
|
||||
qdel(src)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user