Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prefab - Gnomish Warship #5987

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
28121ce
first go at this, created the map
vocalpocal Sep 1, 2021
09bc0f6
Added gnomes! So far only tray clear works
vocalpocal Sep 6, 2021
329b8b1
David the space gnome, trader, joins the destroyer
vocalpocal Sep 6, 2021
347c812
Improved trader, first go at module idea
vocalpocal Sep 9, 2021
2ef470e
splicing module should now work
vocalpocal Sep 9, 2021
b4646ee
Added more trader stuff, reworked the map
vocalpocal Sep 9, 2021
27f36dc
Fixed piss pitcher being twice in the code
vocalpocal Sep 9, 2021
a70c8b9
cleanup
vocalpocal Sep 9, 2021
0d570e8
Almost forgot lights
vocalpocal Sep 9, 2021
c782fe0
Added alien plantpots, fixed map issues
vocalpocal Sep 9, 2021
787f39e
Alien plantpot stuff
vocalpocal Sep 10, 2021
4357351
Merge branch 'goonstation:master' into gnome-prefab
vocalpocal Sep 10, 2021
4a3a2de
Gnomes can now laugh
vocalpocal Sep 11, 2021
938daf6
Gnomes - when they cry
vocalpocal Sep 11, 2021
7affdd6
Piss pitcher now makes you vomit, cleaned up code
vocalpocal Sep 12, 2021
dda90f2
Merge branch 'master' of https://github.com/vocalpocal/goonstation in…
vocalpocal Sep 12, 2021
42ca2b0
Fixed map stuff, added dead gnome sprite
vocalpocal Sep 12, 2021
113f514
David the space gnome now has a portrait!
vocalpocal Sep 12, 2021
f39ba73
Fixed few cry issues
vocalpocal Sep 12, 2021
bb8c3d4
map issue
vocalpocal Sep 12, 2021
94c8858
More trader lines.
vocalpocal Sep 12, 2021
5f468ea
Prefab generation now works
vocalpocal Sep 12, 2021
ec2af8c
Fixed pisscher bug and prefab chance
vocalpocal Sep 12, 2021
765884f
Delete hydro_modules.dm
vocalpocal Sep 12, 2021
b3c2be3
You now have to prove your botany powers to david before buying his b…
vocalpocal Sep 13, 2021
9aa1e1e
Merge branch 'goonstation:master' into gnome-prefab
vocalpocal Sep 13, 2021
600eb9f
Merge branch 'gnome-prefab' of https://github.com/vocalpocal/goonstat…
vocalpocal Sep 13, 2021
057028e
Update the map
vocalpocal Sep 16, 2021
40b1e22
Merge
vocalpocal Sep 16, 2021
57f04e7
More map changes, more room!
vocalpocal Sep 16, 2021
cd7cb40
The ship now has a proper dock
vocalpocal Sep 16, 2021
c44315f
Trader now gives a quest hint
vocalpocal Sep 16, 2021
c1afde2
Removed gnome sounds
vocalpocal Sep 16, 2021
c2dbbbd
gnome AI changes
vocalpocal Sep 20, 2021
37b4eec
Improved gnome ai
vocalpocal Sep 22, 2021
a15a8fe
Merge branch 'goonstation:master' into gnome-prefab
vocalpocal Sep 22, 2021
d906038
Whoops and improvement
vocalpocal Sep 22, 2021
ae990ff
Merge branch 'gnome-prefab' of https://github.com/vocalpocal/goonstat…
vocalpocal Sep 22, 2021
d491001
Merge branch 'goonstation:master' into gnome-prefab
vocalpocal Sep 23, 2021
659e0e2
New gnome sprites
vocalpocal Sep 23, 2021
f91cbec
Small AI fix regarding seed planting
vocalpocal Sep 23, 2021
0d9a3c3
merge
vocalpocal Oct 12, 2021
4090276
pool's closed
vocalpocal Oct 12, 2021
5c34028
Commodity balance
vocalpocal Oct 12, 2021
7f0ecad
merge
vocalpocal Nov 8, 2021
4bd811e
merge fix
vocalpocal Nov 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions assets/maps/prefabs/prefab_gnomish_destroyer.dmm
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
"bK" = (/obj/npc/trader/gnome,/turf/simulated/floor/wood,/area/gnome_trader)
"cf" = (/obj/marker/supplymarker,/obj/decal/fakeobjects/teleport_pad,/turf/simulated/floor/wood,/area/gnome_trader)
"eG" = (/obj/item/storage/wall/green,/turf/simulated/floor/grass/leafy,/area/gnome_trader)
"eJ" = (/obj/grille/catwalk/cross{dir = 6},/turf/space,/area/gnome_trader)
"gW" = (/turf/space,/area/space)
"im" = (/obj/machinery/plantpot/alien{anchored = 1},/obj/machinery/light/incandescent/greenish{dir = 8},/turf/simulated/floor/dirt,/area/gnome_trader)
"iI" = (/obj/machinery/door/poddoor/blast{dir = 8; id = "gnome_ship"},/obj/forcefield/energyshield/perma/doorlink{desc = "A door-linked force field that prevents gasses from passing through it."; name = "Door-linked Atmospheric Forcefield"; powerlevel = 1},/obj/decal/tile_edge/stripe/extra_big,/turf/simulated/floor/shuttlebay,/area/gnome_trader)
"jz" = (/obj/machinery/plantpot/bareplant/lotus,/turf/simulated/floor/grass/leafy,/area/gnome_trader)
"lr" = (/obj/machinery/light/incandescent/greenish{dir = 8},/obj/shrub,/turf/simulated/floor/wood,/area/gnome_trader)
"lu" = (/turf/simulated/floor/grasstodirt{dir = 9},/area/gnome_trader)
"my" = (/turf/simulated/floor/wood,/area/gnome_trader)
"mO" = (/obj/grille/catwalk/cross{dir = 9},/turf/space,/area/gnome_trader)
"oG" = (/obj/machinery/light/incandescent/greenish{dir = 1},/obj/decal/fakeobjects/console_lever,/turf/simulated/floor/wood,/area/gnome_trader)
"pc" = (/obj/decal/fakeobjects/shuttleengine{icon_state = "alt_propulsion"},/turf/space,/area/space)
"ps" = (/obj/machinery/door/airlock/gannets/alt,/turf/simulated/floor/grass/leafy,/area/gnome_trader)
"pG" = (/obj/grille/catwalk/cross{dir = 5},/turf/space,/area/gnome_trader)
"pI" = (/turf/simulated/floor/grass/leafy,/area/gnome_trader)
"si" = (/obj/critter/garden_gnome,/turf/simulated/floor/grass/leafy,/area/gnome_trader)
"th" = (/turf/simulated/floor/grey,/area/gnome_trader)
"uj" = (/obj/decal/fakeobjects/shuttleengine{icon_state = "alt_heater-L"},/turf/space,/area/gnome_trader)
"wg" = (/turf/simulated/floor/grasstodirt{dir = 5},/area/gnome_trader)
"yg" = (/obj/machinery/plantpot/alien{anchored = 1},/turf/simulated/floor/wood,/area/gnome_trader)
"yz" = (/obj/stool/chair/comfy/shuttle/pilot{dir = 1},/turf/simulated/floor/wood,/area/gnome_trader)
"yD" = (/obj/item/bananapeel,/turf/simulated/floor/grass/leafy,/area/gnome_trader)
"zA" = (/turf/simulated/floor/grasstodirt{dir = 4},/area/gnome_trader)
"zW" = (/obj/window/auto,/turf/simulated/floor/grey,/area/gnome_trader)
"CN" = (/obj/machinery/light/incandescent/greenish{dir = 4},/turf/simulated/floor/shuttlebay,/area/gnome_trader)
"Dw" = (/obj/machinery/light/incandescent/greenish{dir = 4},/obj/shrub,/turf/simulated/floor/wood,/area/gnome_trader)
"DG" = (/obj/grille/catwalk/cross{dir = 10},/turf/space,/area/gnome_trader)
"EQ" = (/turf/simulated/wall/auto/jen/brown,/area/gnome_trader)
"Ft" = (/obj/decal/tile_edge/stripe/extra_big{dir = 1},/turf/simulated/floor/shuttlebay,/area/gnome_trader)
"FZ" = (/obj/machinery/light_switch,/turf/simulated/wall/auto/jen/the_tuff_stuff,/area/gnome_trader)
"Iw" = (/turf/simulated/wall/auto/reinforced/jen/red,/area/gnome_trader)
"KR" = (/obj/decal/cleanable/blood/tracks{icon_state = "drip4"},/turf/simulated/wall/auto/jen/brown,/area/gnome_trader)
"LD" = (/obj/critter/garden_gnome,/turf/simulated/floor/wood,/area/gnome_trader)
"Md" = (/turf/simulated/wall/auto/jen/the_tuff_stuff,/area/gnome_trader)
"Mv" = (/obj/decal/cleanable/ash,/turf/simulated/floor/grey,/area/gnome_trader)
"Oq" = (/obj/structure/woodwall,/turf/simulated/floor/wood,/area/gnome_trader)
"PR" = (/obj/machinery/light/incandescent/greenish{dir = 4},/turf/simulated/floor/dirt,/area/gnome_trader)
"QF" = (/obj/railing/orange/reinforced{dir = 4},/obj/critter/maneater,/obj/decal/fakeobjects/lighttube_broken{dir = 1},/turf/simulated/floor/grasstodirt{dir = 4},/area/gnome_trader)
"QS" = (/obj/machinery/light/incandescent/greenish{dir = 8},/turf/simulated/floor/shuttlebay,/area/gnome_trader)
"RJ" = (/turf/simulated/floor/grasstodirt{icon_state = "dirttograss"},/area/gnome_trader)
"RQ" = (/obj/machinery/door/airlock/gannets/alt,/turf/simulated/floor/grey,/area/gnome_trader)
"SH" = (/turf/simulated/floor/shuttlebay,/area/gnome_trader)
"TY" = (/turf/simulated/floor/grasstodirt{dir = 8},/area/gnome_trader)
"UD" = (/obj/machinery/plantpot/bareplant/tree,/turf/simulated/floor/dirt,/area/gnome_trader)
"UK" = (/obj/machinery/plantpot/alien{anchored = 1},/turf/simulated/floor/grass/leafy,/area/gnome_trader)
"Vl" = (/obj/machinery/light/incandescent/greenish{dir = 8},/turf/simulated/floor/dirt,/area/gnome_trader)
"Vo" = (/obj/machinery/plantpot/alien{anchored = 1},/obj/machinery/light/incandescent/greenish{dir = 4},/turf/simulated/floor/dirt,/area/gnome_trader)
"Vx" = (/obj/machinery/power/apc{pixel_y = 1},/turf/simulated/wall/auto/jen/the_tuff_stuff,/area/gnome_trader)
"WT" = (/obj/railing/orange/reinforced{dir = 8},/obj/critter/maneater,/obj/decal/cleanable/blood,/obj/decal/fakeobjects/lighttube_broken{dir = 1},/turf/simulated/floor/grasstodirt{dir = 8},/area/gnome_trader)
"Xg" = (/obj/railing/orange/reinforced{dir = 8},/obj/item/organ/tail/monkey,/turf/simulated/floor/grasstodirt{dir = 8},/area/gnome_trader)
"Yf" = (/obj/decal/fakeobjects/shuttleengine{icon_state = "alt_heater-R"},/turf/space,/area/gnome_trader)
"YM" = (/obj/railing/orange/reinforced{dir = 4},/obj/item/material_piece/bone,/turf/simulated/floor/grasstodirt{dir = 4},/area/gnome_trader)
"Zy" = (/obj/machinery/r_door_control{id = "gnome_ship"},/turf/simulated/wall/auto/jen/the_tuff_stuff,/area/gnome_trader)

(1,1,1) = {"
gWgWgWgWgWgWgWgWgWgWgWgWgW
gWgWgWgWgWgWIwgWgWgWgWgWgW
gWgWgWgWgWIwIwIwgWgWgWgWgW
gWgWgWgWIwIwoGIwIwgWgWgWgW
gWgWgWIwIwbKyzmyIwIwgWgWgW
gWgWgWIwlrLDcfmyDwIwgWgWgW
gWgWgWIwygmymymyygIwgWgWgW
gWgWMdEQEQKROqEQEQEQMdgWgW
gWmORQMvzWQFpIWTzWthRQpGgW
gWDGMdthzWYMyDXgzWthMdeJgW
gWgWMdRQMdMdpsVxFZRQMdgWgW
gWgWMdVlzAeGsipITYPRMdgWgW
gWgWMdUDzAUKjzUKTYUDMdgWgW
gWgWMdimwgRJRJRJluVoMdgWgW
gWgWMdMdMdFtFtFtMdMdMdgWgW
gWgWgWujMdQSSHCNMdYfgWgWgW
gWgWgWpcMdSHSHSHMdpcgWgWgW
gWgWgWgWZyiIiIiIMdgWgWgWgW
gWgWgWgWgWgWgWgWgWgWgWgWgW
"}
Binary file added browserassets/images/traders/davidthegnome.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions code/area.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1053,6 +1053,10 @@ ABSTRACT_TYPE(/area/adventure)
requires_power = FALSE
#endif

/area/gnome_trader
name ="Gnomish Destroyer"
icon_state ="green"

/area/skeleton_trader
name = "Skeleton Trade Outpost"
icon_state = "green"
Expand Down
57 changes: 57 additions & 0 deletions code/datums/commodity.dm
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,63 @@
lowerfluc = -10
onmarket = 0

// Gnome trader
/datum/commodity/alien_seed
comname = "Strange Seed"
comtype = /obj/item/seed/alien
desc = "Sprouted from an unknown origin, these seeds hold many secrets."
onmarket = 0
price = 800
upperfluc = 100
lowerfluc = -100
onmarket = 0

/datum/commodity/pisscher
comname = "Piss Pitcher"
comtype = /obj/item/reagent_containers/food/drinks/drinkingglass/pitcher/pisscher
desc = "Botanist's friend and precursor for a great fertilizer... but why is it in a pitcher!?"
onmarket = 0
price = 1300
upperfluc = 400
lowerfluc = -200

/datum/commodity/saltpetre_bottle
comname = "Saltpetre Bottle (100u)"
comtype = /obj/item/reagent_containers/glass/bottle/saltpetre
desc = "Essential fertilizer for quality crops."
onmarket = 0
price = 800
upperfluc = 0
lowerfluc = 0

/datum/commodity/splicer
comname = "LUCA 1005 - Splicer Upgrade"
comtype = /obj/item/plantModule/splicer
desc = "Increases PlantMaster Mk3 splicing chances by using the science behind the genome of the last universal common ancestor."
onmarket = 0
price = 50000
upperfluc = 10000
lowerfluc = -10000
Comment on lines +555 to +562
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unsure about this, @Tarmunora thoughts?


/datum/commodity/humanmeat
comname = "Human Meat"
comtype = /obj/item/reagent_containers/food/snacks/ingredient/meat/humanmeat/
desc_buy = "Better not ask where it is needed."
onmarket = 0
price = 1000
upperfluc = 500
lowerfluc = -500

/datum/commodity/monkeymeat
comname = "Monkey Meat"
comtype = /obj/item/reagent_containers/food/snacks/ingredient/meat/monkeymeat
desc_buy = "Not as ... uh... nutritious as its sapient form."
onmarket = 0
price = 500
upperfluc = 150
lowerfluc = -150


//////////////////////
//// pod sales ///////
//////////////////////
Expand Down
91 changes: 91 additions & 0 deletions code/modules/economy/trader.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1136,6 +1136,97 @@
else
..()

/obj/npc/trader/gnome
icon = 'icons/obj/trader.dmi'
icon_state = "gnome"
picture = "davidthegnome.png"
name = "David the Space Gnome"
trader_area = "/area/gnome_trader"

var/quest_completed = FALSE

New()
..()
/////////////////////////////////////////////////////////
//// sell list //////////////////////////////////////////
/////////////////////////////////////////////////////////
src.goods_sell += new /datum/commodity/alien_seed(src)
src.goods_sell += new /datum/commodity/drugs/cannabis(src)
src.goods_sell += new /datum/commodity/saltpetre_bottle(src)

/////////////////////////////////////////////////////////
//// buy list ///////////////////////////////////////////
/////////////////////////////////////////////////////////
src.goods_buy += new /datum/commodity/humanmeat(src)
src.goods_buy += new /datum/commodity/monkeymeat(src)
src.goods_buy += new /datum/commodity/honey(src)
// Would really like him to buy chems, namely mead and beer
/////////////////////////////////////////////////////////

greeting= {"Helloo frriiend! Vat prriings you herre?"}

portrait_setup = "<img src='[resource("images/traders/[src.picture]")]'><HR><B>[src.name]</B><HR>"

sell_dialogue = "Ii am a pit chort tiis mont, put Ii can stiill puy sometiing."

buy_dialogue = "Blease take look. Ii have some sbecial wares, put Ii vont sell them unless you pring me a quality, home-grrovn snakk!"

angrynope = "You knobliin! Peat iit!"
whotext = "Ii am a gnome, frriiend. I grov and sell blants."

successful_sale_dialogue = list(
"Oh I rreally have peen waiiting to get my miittens on tiis.",
"Verry kood!",
"Siince ourr fuel rran out, ve have not peen aple to ket any of this. Tanks!"
)

failed_sale_dialogue = list(
"Only a stiinky trroll could come ub viit a stinky offerr liike that!",
"Have you lost your miind??"
)

successful_purchase_dialogue = list(
"Tank you verry much!",
"Kood. Ii'll see if I can get morre comiikng to stokk."
)

failed_purchase_dialogue = list(
"Ach! Forrget iit!",
"Sliibbery knelf, I viil not pe trriicked liike tat!",
"Pooo!"
)

pickupdialogue = "Alrriikht, tank you verry much. Blease take the crrate viit you."

pickupdialoguefailure = "No the crrate is not frree. You have to puy sometiing fiirrst."

attackby(obj/item/I as obj, mob/user as mob)
if (istype(I, /obj/item/reagent_containers/food/snacks/plant/))
if (!src.quest_completed)
var/obj/item/reagent_containers/food/snacks/plant/P = I
if (P.quality > 40) // 40 is quite high and likely a Jumbo crop
src.quest_completed = TRUE
src.visible_message("<span class='alert'><b>[src]: \"My oh my! Tiis [P] looks rreally tasty!!\"</b></span>")
SPAWN_DBG(40)
src.visible_message("<span class='alert'><b>[src]: \"Yourr statiion has brroven iitself! Ii viil nov chov you \
some sbeciial wares in my catalogue.\"</b></span>")
src.goods_sell += new /datum/commodity/pisscher(src)
src.goods_sell += new /datum/commodity/splicer(src)
buy_dialogue = "Yourr station has imbressed me! Ii vill chow you my pest wares. Blease take look."
SPAWN_DBG(50)
src.visible_message("<span class='alert'><b>[src]: \"... stiill not frree!")
else
src.visible_message("<span class='alert'><b>[src]: \"Pfft! Ii have seen petter.\"</b></span>")
else
..()
else
..()






// Clack!

/obj/npc/trader/skeleton
Expand Down
7 changes: 7 additions & 0 deletions code/modules/worldgen/prefabs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,13 @@ ABSTRACT_TYPE(/datum/generatorPrefab)
prefabSizeX = 12
prefabSizeY = 12

gnomish_destroyer
maxNum = 1
probability = 25
prefabPath = "assets/maps/prefabs/prefab_gnomish_destroyer.dmm"
prefabSizeX = 13
prefabSizeY = 19

synd_lab // Zone's Syndicate laboratory for experimenting with telecrystals
maxNum = 1
probability = 15
Expand Down
Loading