STAR TREK 2d20
Page 36 of 46 First ... 263435363738 ... Last
  1. #351
    added automated supply rolls with tracking toggles!

  2. #352
    I like the cleaner look for the timer pr6i6e6st. You're really adding alot of automation. That's really cool. Thanks for your hard work.

    I'm starting to wind down on the GUI, everything seems pretty good on the usability and readability areas and the theme feels pretty cohesive.

    Minor graphic updates(nothing majorly new)
    Went back through the character sheet and cleaned up text and re-created texts for easier readability. (Things like frame header, and bonus / damage / range columns, etc.)
    Made a broken link icon so you can see your unlinked items when creating story entries.
    Attached Files Attached Files
    Ultimate License Holder
    Systems:ALIEN, Savage Worlds (SWADE + Companions, 50 Fathoms, Interface Zero, Realms of Cthulhu), Call of Cthulhu 6th, FIASCO, Paranoia XP

    FG Con 16 – Fantasy Grounds Online RPG Convention - Friday April 16th to Sunday April 18th, 2021
    Register at www.fg-con.com for all the latest info.

  3. #353

  4. #354
    I'm going to try and edit this post later, i'm heading to work and i want to see if someone can help me figure out what's quite wrong with it. it's for the freezing condition

    Edit: what I want to happen:
    (RadStrength is leftover from using the same code as the radiation script on manager_char.lua)

    If conditions.cold is 1
    When cold.strength is 0:
    -if the number of minutes that have passed is equal to or greater than a game.turn, if health.current is greater than 0, roll stamina; if health.current is 0, roll deathroll.
    -if a whole hour or more has passed if health.current is greater than 0, roll stamina; if health.current is 0, roll deathroll.
    -if a whole day has passed if health.current is greater than 0, roll stamina; if health.current is 0, roll deathroll.

    When cold.strength is 1:
    -if the number of hours that has passed is equal to or greater than a game.shift, if health.current is greater than 0, roll stamina; if health.current is 0, roll deathroll.
    -if a whole day has passed, if health.current is greater than 0, roll stamina; if health.current is 0, roll deathroll.

    When cold.strength is 2:
    -if a day has passed, if health.current is greater than 0, roll stamina; if health.current is 0, roll deathroll.
    Edit: after reviewing this in a different light, I think I see my problem.

    Code:
    function onSourceChanged(nodeChar)
    	local RadStrength = DB.getValue(nodeChar, "cold.strength", 0);
    	Debug.console("CharManager, RadStrength = ", RadStrength);
    	if RadStrength == 2 then
    		newLimit = 1;	
    		Debug.console("CharManager, onSourceChanged, newLimit = ", newLimit);
    			
    	end
    	if RadStrength == 1 then
    		newLimit = DB.getValue(nodeChar, "game.shift", 0);
    		Debug.console("CharManager, onSourceChanged, newLimit = ", newLimit);
    	end
    	if RadStrength == 0 then
    		newLimit = DB.getValue(nodeChar, "game.turn", 0);
    		Debug.console("CharManager, onSourceChanged, newLimit = ", newLimit);
    	end
    	
    	DB.setValue(nodeChar, "cold.timelimit", "number", newLimit);
    	local TimeLimit = DB.getValue(nodeChar, "cold.timelimit", 0);
    	
    	local TimeLimitFactor = CheckTimeLimitFactor(nodeChar);
    	if TimeLimitFactor == 0 then
    		onCheckDay();
    		onCheckMinute();
    		
    		if MinuteDifference > DB.getValue(nodeChar, "game.turn", 0) and MinuteDifference < 60 then
    			nMaths = 60 / DB.getValue(nodeChar, "game.turn", 0);
    			Reduced = DB.getValue(nodeChar, "cold.timelimitcurrent", 0) - nMaths;
    			DB.setValue(nodeChar, "cold.timelimitcurrent", "number", Reduced)
    			bMinute = false;
    			nOldMinute = DB.getValue("calendar.current.minute");
    			nOldHour = DB.getValue("calendar.current.hour");
    			nOldRound = DB.getValue("calendar.current.day");
    			nNewMinute = 0;
    			NewHour = 0;
    			NewDay = 0;
    			if DB.getValue(nodeChar, "cold.timelimitcurrent", 0) <= 0 then
    				if DB.getValue(nodeChar, "health.current", 0) > 0 then
    					throwStamina(nodeChar);
    				elseif DB.getValue(nodeChar, "health.current", 0) == 0 then
    					throwDeathRoll(nodeChar);
    				end
    				Debug.console("CharManager, onSourceChanged, cold.timelimitcurrent = ", DB.getValue(nodeChar, "cold.timelimitcurrent", 0));
    			end
    		elseif MinuteDifference < 1 or MinuteDifference > 59 then	
    			onCheckHour();
    			if HourDifference > 0 and HourDifference < 23 then 
    				nMaths = 3600 / DB.getValue(nodeChar, "game.shift", 0);
    				Reduced = DB.getValue(nodeChar, "cold.timelimitcurrent", 0) - nMaths;
    				DB.setValue(nodeChar, "cold.timelimitcurrent", "number", Reduced)
    				
    				if DB.getValue(nodeChar, "conditions.cold", 0) == 1 then
    					bHour = false;
    					nOldHour = DB.getValue("calendar.current.hour");
    					nOldRound = DB.getValue("calendar.current.day");
    					nOldMinute = DB.getValue("calendar.current.minute");
    					NewDay = 0;
    					NewHour	= 0;
    					if DB.getValue(nodeChar, "health.current", 0) > 0 then
    						throwStamina(nodeChar);
    					elseif DB.getValue(nodeChar, "health.current", 0) == 0 then
    						throwDeathRoll(nodeChar);
    					end
    				end
    				
    			end
    		end
    	elseif TimeLimitFactor == 1 then
    		onCheckDay();
    		onCheckMinute();
    		if HourDifference > DB.getValue(nodeChar, "game.hour", 0) and HourDifference < 59 then
    			Reduced = DB.getValue(nodeChar, "cold.timelimitcurrent", 0) - 1;
    			DB.setValue(nodeChar, "cold.timelimitcurrent", "number", Reduced)
    			if DB.getValue(nodeChar, "conditions.cold", 0) == 1 then
    				bMinute = false;
    				nOldMinute = DB.getValue("calendar.current.minute");
    				nOldHour = DB.getValue("calendar.current.hour");
    				nNewMinute = 0;
    				NewHour = 0;
    				NewDay = 0;
    				if DB.getValue(nodeChar, "health.current", 0) > 0 then
    					throwStamina(nodeChar);
    				elseif DB.getValue(nodeChar, "health.current", 0) == 0 then
    					throwDeathRoll(nodeChar);
    				end
    			end
    			
    		elseif HourDifference < 1 or HourDifference > 59 then
    			onCheckMinute();
    			if MinuteDifference > 0 and MinuteDifference < 23 then
    				nMaths = 60 / DB.getValue(nodeChar, "game.turn", 0);
    				Reduced = DB.getValue(nodeChar, "cold.timelimitcurrent", 0) - nMaths;
    				DB.setValue(nodeChar, "cold.timelimitcurrent", "number", Reduced);
    				
    				if DB.getValue(nodeChar, "conditions.cold", 0) == 1 then
    					bMinute = false;
    					nOldMinute = DB.getValue("calendar.current.minute");
    					nOldHour = DB.getValue("calendar.current.hour");
    					nNewMinute = 0;
    					NewHour = 0;
    					NewDay = 0;
    					if DB.getValue(nodeChar, "health.current", 0) > 0 then
    						throwStamina(nodeChar);
    					elseif DB.getValue(nodeChar, "health.current", 0) == 0 then
    						throwDeathRoll(nodeChar);
    					end
    				end
    				
    			end
    		end
    	elseif TimeLimitFactor == 2 then
    		onCheckDay();
    		onCheckHour();
    		
    		if DayDifference >= 0 then
    			Reduced = DB.getValue(nodeChar, "cold.timelimitcurrent", 0) - 1;
    			DB.setValue(nodeChar, "cold.timelimitcurrent", "number", Reduced);
    			if DB.getValue(nodeChar, "conditions.cold", 0) == 1 then
    				bHour = false;
    				nOldHour = DB.getValue("calendar.current.hour");
    				nOldDay = DB.getValue("calendar.current.day");
    				nOldDay = DB.getValue("calendar.current.minute");
    				NewDay = 0;
    				if DB.getValue(nodeChar, "health.current", 0) > 0 then
    					throwStamina(nodeChar);
    				elseif DB.getValue(nodeChar, "health.current", 0) == 0 then
    					throwDeathRoll(nodeChar);
    				end
    			end
    			
    			if DB.getValue(nodeChar, "cold.timelimitcurrent", 0) <= 0 then
    				DB.setValue(nodeChar, "cold.timelimitcurrent", "number", TimeLimit);
    				Debug.console("CharManager, onSourceChanged, cold.timelimitcurrent = ", TimeLimit);
    			end
    		end
    	end
    end
    Last edited by pr6i6e6st; May 3rd, 2020 at 16:50.

  5. #355

    Join Date
    Sep 2013
    Location
    Tonganoxie, KS
    Posts
    39
    I love this and what you have created. I have a feeling I am missing out on how a lot of the automation works. I'm continuing to learn as I build tables and import Items and characters. I don't know if I am setting the calendar correctly or am missing something on the character sheet, because I'm not seeing the automatic healing taking place. The more I play with this ruleset, the more impressive it gets though. Thanks for doing this.

  6. #356
    Quote Originally Posted by Wbweather View Post
    I love this and what you have created. I have a feeling I am missing out on how a lot of the automation works. I'm continuing to learn as I build tables and import Items and characters. I don't know if I am setting the calendar correctly or am missing something on the character sheet, because I'm not seeing the automatic healing taking place. The more I play with this ruleset, the more impressive it gets though. Thanks for doing this.
    automated healing works as stated in the rules where if you are not suffering from a condition, are not exposed to irradiation, and a turn goes by, you gain a point. you also have to be human. i'm not seeing any issues with it at the moment

    BUT i am currently in the process of changing how i check for time differences, by converting the dates to seconds, rather than relying on too many scenarios. hopefully i'll get this all beat out before too long. might have to settle and ignore months somehow, as that's my current stumping factor. thank you for sticking through it.

  7. #357

    Join Date
    Sep 2013
    Location
    Tonganoxie, KS
    Posts
    39
    I'm certain any issues I am having are due to my ignorance.

  8. #358
    Quote Originally Posted by Wbweather View Post
    I'm certain any issues I am having are due to my ignorance.
    i plan to make an updated video at some point when i get this mechanic and a couple others worked out.

    but here's a checklist:
    -calendar is set up
    -shift/round is set up
    -human/synth button above health is set as desired (click to change)
    -"Stressed" button means you are in a stressful situation and thus can't lose stress over time, if you are looking for stress loss
    -are your conditions toggled on(black) or off(white)?
    -is the panicking button toggled on or off? set this to on only when you are panicking. when you stop panicking, click it off.
    -some functions need you to be on the combat tracker or for a player to have control of the PC.
    -are your items set to the right type? click where it says "gear" to set it to the appropriate type of item
    -are your items equipped? armor, weapons, power supplies and air supplies must be equipped.
    -MaxHealth is not automatically set yet, you may set this with the field below the health section
    -the Panic Mod modifies the result you get on your panic results
    -combat type changes the panic table to roll on
    -NPC's can be set to a creature, or npc; you can decide if they roll on a Human, Synth, or custom defined table by cycling the other button next to it.
    -Vehicles can be changed by clicking on the vehicle type section.

    hopefully this gets you started

  9. #359

    Join Date
    Sep 2013
    Location
    Tonganoxie, KS
    Posts
    39
    Definitely. Thanks!

  10. #360
    This looks like a great extension/mod/ruleset!

    Any chance that we could get the clock as a separate extension for use in other rulesets?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
FG Spreadshirt Swag

Log in

Log in