Builder XCRs Bitch Contributions: Difference between revisions

From Sinfar
(Added categories, changed title slightly)
(Standardising formatting and a few typos.)
Line 22: Line 22:


== '''Entering the area:''' ==
== '''Entering the area:''' ==
'''Main Script''': cas_areaonenter
'''Main Script''': <code>cas_areaonenter</code>


This script controls the various functions PCs have applied to them when they enter the casino.
This script controls the various functions PCs have applied to them when they enter the casino.


Thus far it does one thing: Assigns the variable NITAKETOKENS int 1, to the entering PC. This has it so players who enter the arena will always have only one token taken from them by the slot machines- incase they forgot they did something silly and set themselves to 100 tokens and forgot to change it before they leave. Notably, the Slot Machines will not take ANY tokens from the player if this variable isn't assigned to the player, so it is to avoid an exploit.
Thus far it does one thing: Assigns the variable <code>NITAKETOKENS int 1</code>, to the entering PC. This has it so players who enter the arena will always have only one token taken from them by the slot machines - in case they forgot they did something silly and set themselves to 100 tokens and forgot to change it before they leave. Notably, the Slot Machines will not take ANY tokens from the player if this variable isn't assigned to the player, so it is to avoid an exploit.


'''Secondary Scripts:''' cas_entercasino, cas_exitcasino
'''Secondary Scripts:''' <code>cas_entercasino</code>, <code>cas_exitcasino</code>


These two scripts control access to the actual gambling portion of the casino. You are required to make a deposit of 100,000gp to play the games. It is returned with cas_onexitarena. It will not let the player enter the area if they do not have sufficient coins. This was a mostly in character decision rather than an OOC necessary one and can be removed and the area modified (blame arockravensbeak).
These two scripts control access to the actual gambling portion of the casino. You are required to make a deposit of 100,000gp to play the games. It is returned with <code>cas_onexitarena</code>. It will not let the player enter the area if they do not have sufficient coins. This was a mostly in character decision rather than an OOC necessary one and can be removed and the area modified (blame arockravensbeak).


=== '''Buying Tokens:''' ===
=== '''Buying Tokens:''' ===
Players purchase tokens from the help desk NPC. The choices are set via dialog.
Players purchase tokens from the help desk NPC. The choices are set via dialog.


'''Scripts required:''' cas_createtoken1, cas_createtoken5, cas_createtoke10, cas_createtoke25, cas_creattoken50, cas_creattok100, cas_creatok1000
'''Scripts required:''' <code>cas_createtoken1</code>, <code>cas_createtoken5</code>, <code>cas_createtoke10</code>, <code>cas_createtoke25</code>, <code>cas_creattoken50</code>, <code>cas_creattok100</code>, <code>cas_creatok1000</code>


These scripts spawn the requisite number tokens into the player's inventory upon receiving payment.
These scripts spawn the requisite number tokens into the player's inventory upon receiving payment.


'''Dialog:''' cas_helpdesk
'''Dialog:''' <code>cas_helpdesk</code>


Handles generic variables and token purchasing.
Handles generic variables and token purchasing.


'''NPC:''' cas_helpdeskguy
'''NPC:''' <code>cas_helpdeskguy</code>


=== '''REWARDS: (TO BE DISCUSSED FURTHER WITH ADMIN TEAM, numbers are NOT finalized).''' ===
=== '''REWARDS: (TO BE DISCUSSED FURTHER WITH ADMIN TEAM, numbers are NOT finalized).''' ===
Line 56: Line 56:
Various scripted items, such as Spin the Bottle. The Slutsnatcher Grappling Hook, other misc items.
Various scripted items, such as Spin the Bottle. The Slutsnatcher Grappling Hook, other misc items.


cas_spinthebottl (handles the spin the bottle functions)
<code>cas_spinthebottl</code> (handles the spin the bottle functions)


cas_grapple (handles how the slutsnatcher grappling hook works).
<code>cas_grapple</code> (handles how the slutsnatcher grappling hook works).


==== Tier 4: (2500 - 5000) ====
==== Tier 4: (2500 - 5000) ====
Line 69: Line 69:


=== SLOT MACHINES: ===
=== SLOT MACHINES: ===
'''Main Script:''' cas_slotmachine  
'''Main Script:''' <code>cas_slotmachine</code>


Handles the majority of the functions of the slot machines. Odds are currently 15% chance of winning any type of combo. Triple 111s are to set to 10%, 222 = 5%, 333 = 2.5%, 444 = 1.25%, 555 = 0.75%, and 666 = 0.1% chance of winning.  
Handles the majority of the functions of the slot machines. Odds are currently 15% chance of winning any type of combo. Triple 111s are to set to 10%, 222 = 5%, 333 = 2.5%, 444 = 1.25%, 555 = 0.75%, and 666 = 0.1% chance of winning.  


Betting more tokens on the game does not increase the jackpot accordingly. Playing 2 tokens at a time increases pay out by 25%. 3 tokens increases pay out by 50%. 4 = 75%, and 5= 100% more tickets.  (So, playing 2 tokens and if you were to hit 555 = 125 tickets, versus 200.) This is to encourage spending.
Betting more tokens on the game does not increase the jackpot accordingly. Playing 2 tokens at a time increases pay out by 25%. 3 tokens increases pay out by 50%. 4 = 75%, and 5 = 100% more tickets.  (So, playing 2 tokens and if you were to hit 555 = 125 tickets, versus 200.) This is to encourage spending.


'''Secondary Scripts:''' cas_slottoken1, cas_slottoken10, cas_slottoken25, cas_slottoken50, cas_slottoken100
'''Secondary Scripts:''' <code>cas_slottoken1</code>, <code>cas_slottoken10</code>, <code>cas_slottoken25</code>, <code>cas_slottoken50</code>, <code>cas_slottoken100</code>


These scripts are set by the Help Desk NPC found on either side of the casino. They control how many tokens a player uses per pull at the slot machine.
These scripts are set by the Help Desk NPC found on either side of the casino. They control how many tokens a player uses per pull at the slot machine.


'''Placeables:''' cas_yellow, cas_red, cas_purple, cas_orange, cas_green, cas_blue
'''Placeables:''' <code>cas_yellow</code>, <code>cas_red</code>, <code>cas_purple</code>, <code>cas_orange</code>, <code>cas_green</code>, <code>cas_blue</code>


These placeables are used in cas_slotmachine to make a placeable fire appear above the slot machine as a visual representation of the numbers.
These placeables are used in <code>cas_slotmachine</code> to make a placeable fire appear above the slot machine as a visual representation of the numbers.


'''Dialog:''' cas_helpdesk- the dialog here contains the method by which the secondary scripts are assigned to the player.
'''Dialog:''' <code>cas_helpdesk</code> - the dialog here contains the method by which the secondary scripts are assigned to the player.


'''NPC''': cas_helpdeskguy - NPC with the dialog on him.
'''NPC''': <code>cas_helpdeskguy</code> - NPC with the dialog on him.


=== '''BLACKJACK:''' ===
=== '''BLACKJACK:''' ===
'''Main Scripts:''' cas_dealer_spawn, cas_dealer_ud, cas_deal_liston
'''Main Scripts:''' <code>cas_dealer_spawn</code>, <code>cas_dealer_ud</code>, <code>cas_deal_liston</code>


These two scripts are critical to the game functioning. The cas_dealer_spawn handles the on_spawn functions of the game, assigning the ListenPatterns required for cas_dealer_ud to work. The latter script handles the bulk of the functions and how the game works.  
These two scripts are critical to the game functioning. The <code>cas_dealer_spawn</code> handles the OnSpawn functions of the game, assigning the ListenPatterns required for <code>cas_dealer_ud</code> to work. The latter script handles the bulk of the functions and how the game works.  


cas_deal_liston initializes the game, and makes it so the NPC is ready to hear out players so he isn't constantly listening for PCs.
<code>cas_deal_liston</code> initializes the game, and makes it so the NPC is ready to hear out players so he isn't constantly listening for PCs.


Players can assign how much they wish to bet. Generally, payout is 1.5x per token bet. So if a player bets 1 token, it's bumped up to 2, and if a player bets 5 tokens, they are rewarded 7. If they bet 10 tokens, they are rewarded 15 tickets.  
Players can assign how much they wish to bet. Generally, payout is 1.5x per token bet. So if a player bets 1 token, it's bumped up to 2, and if a player bets 5 tokens, they are rewarded 7. If they bet 10 tokens, they are rewarded 15 tickets.  
Line 98: Line 98:
The game uses listener functions so wonky behavior can occur.
The game uses listener functions so wonky behavior can occur.


'''Secondary Scripts:''' cas_bjnumplay1 (1-4), cas_bj_wager1(1, 5, 10, 50, 100), cas_bj_playtest(2, 3), cas_bj_giverules, cas_dealer_sit,
'''Secondary Scripts:''' <code>cas_bjnumplay1</code> (1-4), <code>cas_bj_wager1</code> (1, 5, 10, 50, 100), <code>cas_bj_playtest</code> (2, 3), <code>cas_bj_giverules</code>, <code>cas_dealer_sit</code>,


# cas_bjnumplay controls the number of players permitted to join the game. (max 4)
# <code>cas_bjnumplay</code> controls the number of players permitted to join the game. (max 4)
# cas_bj_wager1-100 controls how many tokens are bet on each round of blackjack.  
# <code>cas_bj_wager1</code>-100 controls how many tokens are bet on each round of blackjack.  
# cas_bj_playtest handles various states of the game
# <code>cas_bj_playtest</code> handles various states of the game
# cas_bj_giverules hands the player how the game is played.
# <code>cas_bj_giverules</code> hands the player how the game is played.
# cas_dealer_sit tells the dealer to sit in his god damn chair.
# <code>cas_dealer_sit</code> tells the dealer to sit in his god damn chair.


'''Conversation:''' cas_blackjack - handles setting player number, wager amounts, rulebook giving.
'''Conversation:''' <code>cas_blackjack</code> - handles setting player number, wager amounts, rulebook giving.


'''NPC:''' cas_blackjackdea - handles the game overall.
'''NPC:''' <code>cas_blackjackdea</code> - handles the game overall.


=== '''WHEEL OF FIRE:''' ===
=== '''WHEEL OF FIRE:''' ===
Main Script: cas_wheeloffire
Main Script: <code>cas_wheeloffire</code>


This script handles the overall function of the game. Essentially, it creates a vfx circle that is applied to the ground in a spherical shape along the diameter and rotates swiftly at first then slows down, landing on a number and applying a unique effect to handle the winning number. Players who bet on that number are rewarded 4x what they bet.  
This script handles the overall function of the game. Essentially, it creates a VFX circle that is applied to the ground in a spherical shape along the diameter and rotates swiftly at first then slows down, landing on a number and applying a unique effect to handle the winning number. Players who bet on that number are rewarded 4x what they bet.  


[TO BE DEVELOPED FURTHER]
[TO BE DEVELOPED FURTHER]


=== '''THE MONSTER ARENA:''' ===
=== '''THE MONSTER ARENA:''' ===
'''Main Scripts''': cas_arenastart, cas_arenaper, cas_arenaospawn, cas_arenaondeath, cas_arenaonclick
'''Main Scripts''': <code>cas_arenastart</code>, <code>cas_arenaper</code>, <code>cas_arenaospawn</code>, <code>cas_arenaondeath</code>, <code>cas_arenaonclick</code>


# cas_arenastart spawns the monsters and controls the SetIsTemporaryEnemy() function, and tells them to attack each other have a delay. Additional functionality may be added to randomize appearance and weapons.
# <code>cas_arenastart</code> spawns the monsters and controls the <code>SetIsTemporaryEnemy()</code> function, and tells them to attack each other have a delay. Additional functionality may be added to randomize appearance and weapons.
# cas_arenaper - deprecated, can be removed probably. Not removing because it isn't doing any harm, really.
# <code>cas_arenaper</code> - deprecated, can be removed probably. Not removing because it isn't doing any harm, really.
# cas_arenaondeath - checks for the variable I_BET_ON_RED, I_BET_ON_BLACK, and handles reward functions, despawning the corpse, and deleting the surviving monster from the bout. Deletes variables on surrounding players if the BET functions are found.
# <code>cas_arenaondeath</code> - checks for the variable <code>I_BET_ON_RED</code>, <code>I_BET_ON_BLACK</code>, and handles reward functions, despawning the corpse, and deleting the surviving monster from the bout. Deletes variables on surrounding players if the BET functions are found.
# cas_arenaonclick - prevents bets during a monster bout. Assigns variable and deducts tokens from player who is placing bet. Controls how many tokens are being bet with BET_AMOUNT as a local variable. This is an OnClick Event.
# <code>cas_arenaonclick</code> - prevents bets during a monster bout. Assigns variable and deducts tokens from player who is placing bet. Controls how many tokens are being bet with <code>BET_AMOUNT</code> as a local variable. This is an OnClick Event.
# TO BE MADE: cas_ondamaged - checks if a PC damaged the creature. Refund tokens based on the I_BET_ON_<color> int <tokenAmount> variable. Sends message to online staff that X person is attacking arena, blue, NPCs. Allow PC best judgment.
# TO BE MADE: <code>cas_ondamaged</code> - checks if a PC damaged the creature. Refund tokens based on the <code>I_BET_ON_<color></code> int <code><tokenAmount></code> variable. Sends message to online staff that X person is attacking arena, blue, NPCs. Allow PC best judgment.
I intend for the reward to be 1:1- one token = one ticket. You win tickets if the creature you bet on won the match.  
I intend for the reward to be 1:1- one token = one ticket. You win tickets if the creature you bet on won the match.  




'''Secondary Scripts:''' cas_arenadestroy, cas_arenadespawn, cas_arenadialogu, cas_onexitarena, cas_onenterarena, cas_shrineheal
'''Secondary Scripts:''' <code>cas_arenadestroy</code>, <code>cas_arenadespawn</code>, <code>cas_arenadialogu</code>, <code>cas_onexitarena</code>, <code>cas_onenterarena</code>, <code>cas_shrineheal</code>


# cas_arenadestroy- in case monsters persist in the arena, use this script to destroy the NPCs spawned by cas_arenastart. Called by the conversation: cas_arena
# <code>cas_arenadestroy</code> - in case monsters persist in the arena, use this script to destroy the NPCs spawned by <code>cas_arenastart</code>. Called by the conversation: <code>cas_arena</code>
# cas_arenadespawn called on the OnCombatEnd- can probably just be removed.
# <code>cas_arenadespawn</code> called on the <code>OnCombatEnd</code> - can probably just be removed.
# cas_arenadialogu called on the OnUsed event of the placeable called 'arena handler' in the area.
# <code>cas_arenadialogu</code> called on the OnUsed event of the placeable called 'arena handler' in the area.
# cas_onenterarena/onexitarena - These apply and remove the iAmInArena variable to prevent players from starting a monster bout if PCs are in the arena dueling.  
# <code>cas_onenterarena</code>/<code>cas_onexitarena</code> - These apply and remove the iAmInArena variable to prevent players from starting a monster bout if PCs are in the arena dueling.  
# Shrine in the arena that heals combatants after a bout.
# Shrine in the arena that heals combatants after a bout.


'''Dialog:''' cas_arena - handles how the arena works, starts matches, sees if people are in bouts, etc...
'''Dialog:''' <code>cas_arena</code> - handles how the arena works, starts matches, sees if people are in bouts, etc...


'''Creatures''' (so far): cas_arenablack, cas_arenared
'''Creatures''' (so far): <code>cas_arenablack</code>, <code>cas_arenared</code>


Two golems based on colors.
Two golems based on colors.


'''Items:''' cas_arenaredsmas, cas_arenablackpu
'''Items:''' <code>cas_arenaredsmas</code>, <code>cas_arenablackpu</code>


creature weapons to give golems appropriate weapons.
creature weapons to give golems appropriate weapons.
Line 149: Line 149:


=== Suites: ===
=== Suites: ===
'''Main Scripts:''' cas_bedroomcharg, cas_finalspeaker, cas_mebsolporn, cas_deletevariab, cas_assignvariab, cas_destroyproje
'''Main Scripts:''' <code>cas_bedroomcharg</code>, <code>cas_finalspeaker</code>, <code>cas_mebsolporn</code>, <code>cas_deletevariab</code>, <code>cas_assignvariab</code>, <code>cas_destroyproje</code>


# cas_bedroomcharg Charges customers for use of the suite. Each suite will have a projector panel to spawn a recorded sex show from a library of options available in the dialog cas_projectoropt. 5000 gold for each amenity.  Placed on a chain's onused event.
# <code>cas_bedroomcharg</code> Charges customers for use of the suite. Each suite will have a projector panel to spawn a recorded sex show from a library of options available in the dialog <code>cas_projectoropt</code>. 5000 gold for each amenity.  Placed on a chain's OnUsed event.
# cas_finalspeaker is the final version (for now) of the code that handles 'recorded projections'. It will spawn two or more npcs based on their resref, and based on a variable on the creatures spawned, assign spoken text at a 45 second interval in incremental order based on variables based on the placeable the script is attached to. Basically, it generates the text logs of people's intimate roleplay, or stories for more benign reasons.
# <code>cas_finalspeaker</code> is the final version (for now) of the code that handles 'recorded projections'. It will spawn two or more NPCs based on their ResRef, and based on a variable on the creatures spawned, assign spoken text at a 45 second interval in incremental order based on variables based on the placeable the script is attached to. Basically, it generates the text logs of people's intimate roleplay, or stories for more benign reasons.
# cas_mebsolporn - earlier, prototype version of cas_finalspeaker, will soon be deprecated and removed.
# <code>cas_mebsolporn</code> - earlier, prototype version of <code>cas_finalspeaker</code>, will soon be deprecated and removed.
# cas_assignvariab/cas_deletevariab: assigns a variable that the cas_bedroomcharg checks for to prevent the door unlocking if people are currently inside. Assigned on a trigger. Also used in the baths and meeting room.
# <code>cas_assignvariab</code>/<code>cas_deletevariab</code>: assigns a variable that the <code>cas_bedroomcharg</code> checks for to prevent the door unlocking if people are currently inside. Assigned on a trigger. Also used in the baths and meeting room.
# cas_destroyprojec - deletes the projector and the creatures it spawned.
# <code>cas_destroyprojec</code> - deletes the projector and the creatures it spawned.


'''Conversations''': cas_projectoropt - select which show you want to watch.
'''Conversations''': <code>cas_projectoropt</code> - select which show you want to watch.


=== Baths: ===
=== Baths: ===
'''Main Scripts''': cas_spawnfloor1(1-6), cas_bathscharge, cas_deletevariab, cas_assignvariab, cas_flr_optcv, cas_onenterfire, cas_onexitfire
'''Main Scripts''': <code>cas_spawnfloor1</code>(1-6), <code>cas_bathscharge</code>, <code>cas_deletevariab</code>, <code>cas_assignvariab</code>, <code>cas_flr_optcv</code>, <code>cas_onenterfire</code>, <code>cas_onexitfire</code>


# Cas_spawnfloor(1-6) - changes floor type, water to lava to liquid gold.
# <code>Cas_spawnfloor</code>(1-6) - changes floor type, water to lava to liquid gold.
# cas_bathscharge, same as cas_bedroomcharg
# <code>cas_bathscharge</code>, same as <code>cas_bedroomcharg</code>
# cas_delete/assignvariab- same as above.
# <code>cas_delete</code>/<code>cas_assignvariab</code>- same as above.
# cas_flr_optcy - onused placeable script that generates the cas_flooroptions dialog
# <code>cas_flr_optcy</code> - OnUsed placeable script that generates the <code>cas_flooroptions</code> dialog
# OnEnterFire/OnExitFire - handles assigning the 'this bath is stupidly hot' function, applies 10 dmg per round the player is inside. Applied to goldfloor and lava floor.
# <code>cas_onenterfire</code>/<code>cas_onexitfire</code> - handles assigning the 'this bath is stupidly hot' function, applies 10 dmg per round the player is inside. Applied to goldfloor and lava floor.


'''Dialog:''' cas_flooroptions, handles choosing what sort of bath the player wants to pay for and spawn/remove the previous one.
'''Dialog:''' <code>cas_flooroptions</code>, handles choosing what sort of bath the player wants to pay for and spawn/remove the previous one.


'''Placeables''': cas_floorwine, cas_floorwater, cas_floormud, cas_floorlava, cas_floorgold, cas_floorchocola
'''Placeables''': <code>cas_floorwine</code>, <code>cas_floorwater</code>, <code>cas_floormud</code>, <code>cas_floorlava</code>, <code>cas_floorgold</code>, <code>cas_floorchocola</code>


Handled by the cas_spawnfloor scripts and the cas_floooptions dialog.
Handled by the <code>cas_spawnfloor</code> scripts and the <code>cas_floooptions</code> dialog.
[[Category:Builder Contributions]]
[[Category:Builder Contributions]]
[[Category:Builder Businesses]]
[[Category:Builder Businesses]]

Revision as of 15:12, 27 November 2023


Hello, this page is for ADMINS, DMS, and fellow builders.


Currently, the only contribution I have is for the following ERF: https://nwn.sinfar.net/res_list.php?erf_id=988 - or, the Casino.


The Casino is meant to be a dual purpose gambling/arena, with opportunities for players to host events and stage auctions, and whatnot- by discussing with the owner and master of the area, Mebriewiel Relimion.


Each token roughly costs 1000gp.

Tickets can be redeemed for 500gp

The primary purpose of the casino isn't to reward money to the victors, but tickets, which they can cash in for valuable prizes. This is not a money farm, but a money sink, where people can go out and farm monsters and spend their money in the casino, hopefully socializing with others in the process.

The area is located in the Waterfront District of Sinfar City.

I will organize the assets by their purpose:

Entering the area:

Main Script: cas_areaonenter

This script controls the various functions PCs have applied to them when they enter the casino.

Thus far it does one thing: Assigns the variable NITAKETOKENS int 1, to the entering PC. This has it so players who enter the arena will always have only one token taken from them by the slot machines - in case they forgot they did something silly and set themselves to 100 tokens and forgot to change it before they leave. Notably, the Slot Machines will not take ANY tokens from the player if this variable isn't assigned to the player, so it is to avoid an exploit.

Secondary Scripts: cas_entercasino, cas_exitcasino

These two scripts control access to the actual gambling portion of the casino. You are required to make a deposit of 100,000gp to play the games. It is returned with cas_onexitarena. It will not let the player enter the area if they do not have sufficient coins. This was a mostly in character decision rather than an OOC necessary one and can be removed and the area modified (blame arockravensbeak).

Buying Tokens:

Players purchase tokens from the help desk NPC. The choices are set via dialog.

Scripts required: cas_createtoken1, cas_createtoken5, cas_createtoke10, cas_createtoke25, cas_creattoken50, cas_creattok100, cas_creatok1000

These scripts spawn the requisite number tokens into the player's inventory upon receiving payment.

Dialog: cas_helpdesk

Handles generic variables and token purchasing.

NPC: cas_helpdeskguy

REWARDS: (TO BE DISCUSSED FURTHER WITH ADMIN TEAM, numbers are NOT finalized).

Tier 1: (10-25 tickets)

Plushies, dolls, little visual toys and gadgets players can use on each other as gags or pranks.

Tier 2: (25 -100 tickets)

Crafting Reagents.

Tier 3:(100 - 2500 tickets)

Various scripted items, such as Spin the Bottle. The Slutsnatcher Grappling Hook, other misc items.

cas_spinthebottl (handles the spin the bottle functions)

cas_grapple (handles how the slutsnatcher grappling hook works).

Tier 4: (2500 - 5000)

Jumpers.

Tier 5: (5000 + tickets)

Flashy VFX weapons and properties.

Game At The Casino:

SLOT MACHINES:

Main Script: cas_slotmachine

Handles the majority of the functions of the slot machines. Odds are currently 15% chance of winning any type of combo. Triple 111s are to set to 10%, 222 = 5%, 333 = 2.5%, 444 = 1.25%, 555 = 0.75%, and 666 = 0.1% chance of winning.

Betting more tokens on the game does not increase the jackpot accordingly. Playing 2 tokens at a time increases pay out by 25%. 3 tokens increases pay out by 50%. 4 = 75%, and 5 = 100% more tickets. (So, playing 2 tokens and if you were to hit 555 = 125 tickets, versus 200.) This is to encourage spending.

Secondary Scripts: cas_slottoken1, cas_slottoken10, cas_slottoken25, cas_slottoken50, cas_slottoken100

These scripts are set by the Help Desk NPC found on either side of the casino. They control how many tokens a player uses per pull at the slot machine.

Placeables: cas_yellow, cas_red, cas_purple, cas_orange, cas_green, cas_blue

These placeables are used in cas_slotmachine to make a placeable fire appear above the slot machine as a visual representation of the numbers.

Dialog: cas_helpdesk - the dialog here contains the method by which the secondary scripts are assigned to the player.

NPC: cas_helpdeskguy - NPC with the dialog on him.

BLACKJACK:

Main Scripts: cas_dealer_spawn, cas_dealer_ud, cas_deal_liston

These two scripts are critical to the game functioning. The cas_dealer_spawn handles the OnSpawn functions of the game, assigning the ListenPatterns required for cas_dealer_ud to work. The latter script handles the bulk of the functions and how the game works.

cas_deal_liston initializes the game, and makes it so the NPC is ready to hear out players so he isn't constantly listening for PCs.

Players can assign how much they wish to bet. Generally, payout is 1.5x per token bet. So if a player bets 1 token, it's bumped up to 2, and if a player bets 5 tokens, they are rewarded 7. If they bet 10 tokens, they are rewarded 15 tickets.

The game uses listener functions so wonky behavior can occur.

Secondary Scripts: cas_bjnumplay1 (1-4), cas_bj_wager1 (1, 5, 10, 50, 100), cas_bj_playtest (2, 3), cas_bj_giverules, cas_dealer_sit,

  1. cas_bjnumplay controls the number of players permitted to join the game. (max 4)
  2. cas_bj_wager1-100 controls how many tokens are bet on each round of blackjack.
  3. cas_bj_playtest handles various states of the game
  4. cas_bj_giverules hands the player how the game is played.
  5. cas_dealer_sit tells the dealer to sit in his god damn chair.

Conversation: cas_blackjack - handles setting player number, wager amounts, rulebook giving.

NPC: cas_blackjackdea - handles the game overall.

WHEEL OF FIRE:

Main Script: cas_wheeloffire

This script handles the overall function of the game. Essentially, it creates a VFX circle that is applied to the ground in a spherical shape along the diameter and rotates swiftly at first then slows down, landing on a number and applying a unique effect to handle the winning number. Players who bet on that number are rewarded 4x what they bet.

[TO BE DEVELOPED FURTHER]

THE MONSTER ARENA:

Main Scripts: cas_arenastart, cas_arenaper, cas_arenaospawn, cas_arenaondeath, cas_arenaonclick

  1. cas_arenastart spawns the monsters and controls the SetIsTemporaryEnemy() function, and tells them to attack each other have a delay. Additional functionality may be added to randomize appearance and weapons.
  2. cas_arenaper - deprecated, can be removed probably. Not removing because it isn't doing any harm, really.
  3. cas_arenaondeath - checks for the variable I_BET_ON_RED, I_BET_ON_BLACK, and handles reward functions, despawning the corpse, and deleting the surviving monster from the bout. Deletes variables on surrounding players if the BET functions are found.
  4. cas_arenaonclick - prevents bets during a monster bout. Assigns variable and deducts tokens from player who is placing bet. Controls how many tokens are being bet with BET_AMOUNT as a local variable. This is an OnClick Event.
  5. TO BE MADE: cas_ondamaged - checks if a PC damaged the creature. Refund tokens based on the I_BET_ON_<color> int <tokenAmount> variable. Sends message to online staff that X person is attacking arena, blue, NPCs. Allow PC best judgment.

I intend for the reward to be 1:1- one token = one ticket. You win tickets if the creature you bet on won the match.


Secondary Scripts: cas_arenadestroy, cas_arenadespawn, cas_arenadialogu, cas_onexitarena, cas_onenterarena, cas_shrineheal

  1. cas_arenadestroy - in case monsters persist in the arena, use this script to destroy the NPCs spawned by cas_arenastart. Called by the conversation: cas_arena
  2. cas_arenadespawn called on the OnCombatEnd - can probably just be removed.
  3. cas_arenadialogu called on the OnUsed event of the placeable called 'arena handler' in the area.
  4. cas_onenterarena/cas_onexitarena - These apply and remove the iAmInArena variable to prevent players from starting a monster bout if PCs are in the arena dueling.
  5. Shrine in the arena that heals combatants after a bout.

Dialog: cas_arena - handles how the arena works, starts matches, sees if people are in bouts, etc...

Creatures (so far): cas_arenablack, cas_arenared

Two golems based on colors.

Items: cas_arenaredsmas, cas_arenablackpu

creature weapons to give golems appropriate weapons.

Miscellaneous Amenities:

Suites:

Main Scripts: cas_bedroomcharg, cas_finalspeaker, cas_mebsolporn, cas_deletevariab, cas_assignvariab, cas_destroyproje

  1. cas_bedroomcharg Charges customers for use of the suite. Each suite will have a projector panel to spawn a recorded sex show from a library of options available in the dialog cas_projectoropt. 5000 gold for each amenity. Placed on a chain's OnUsed event.
  2. cas_finalspeaker is the final version (for now) of the code that handles 'recorded projections'. It will spawn two or more NPCs based on their ResRef, and based on a variable on the creatures spawned, assign spoken text at a 45 second interval in incremental order based on variables based on the placeable the script is attached to. Basically, it generates the text logs of people's intimate roleplay, or stories for more benign reasons.
  3. cas_mebsolporn - earlier, prototype version of cas_finalspeaker, will soon be deprecated and removed.
  4. cas_assignvariab/cas_deletevariab: assigns a variable that the cas_bedroomcharg checks for to prevent the door unlocking if people are currently inside. Assigned on a trigger. Also used in the baths and meeting room.
  5. cas_destroyprojec - deletes the projector and the creatures it spawned.

Conversations: cas_projectoropt - select which show you want to watch.

Baths:

Main Scripts: cas_spawnfloor1(1-6), cas_bathscharge, cas_deletevariab, cas_assignvariab, cas_flr_optcv, cas_onenterfire, cas_onexitfire

  1. Cas_spawnfloor(1-6) - changes floor type, water to lava to liquid gold.
  2. cas_bathscharge, same as cas_bedroomcharg
  3. cas_delete/cas_assignvariab- same as above.
  4. cas_flr_optcy - OnUsed placeable script that generates the cas_flooroptions dialog
  5. cas_onenterfire/cas_onexitfire - handles assigning the 'this bath is stupidly hot' function, applies 10 dmg per round the player is inside. Applied to goldfloor and lava floor.

Dialog: cas_flooroptions, handles choosing what sort of bath the player wants to pay for and spawn/remove the previous one.

Placeables: cas_floorwine, cas_floorwater, cas_floormud, cas_floorlava, cas_floorgold, cas_floorchocola

Handled by the cas_spawnfloor scripts and the cas_floooptions dialog.