Browse Source

[added] adding and removing quest logic. fix required for conditions

Pepegass 1 year ago
parent
commit
103beaa193
1 changed files with 182 additions and 14 deletions
  1. 182 14
      locations/journal_quests_build.qsrc

+ 182 - 14
locations/journal_quests_build.qsrc

@@ -2,14 +2,39 @@
 !!this will eventually split into 2 files, all quest building texts will be in one file, quest filtering sorting and displaying will be in second file probably existing journal_quests.qsrc
 !!gs 'journal_quests_build'
 
-$questsList[1] = "loremIpsum"
-$questsList[2] = "loremIpsum1"
-$questsList[3] = "loremIpsum2"
-$questsList[4] = "loremIpsum3"
-$questsList[5] = "loremIpsum4"
-$questsList[6] = "loremIpsum5"
-$questsList[7] = "loremIpsum6"
-$questsList[8] = "loremIpsum7"
+$questsArr[0] = "cheer" & !pavlovks
+$questsArr[1] = "anush" & !pavlovks
+$questsArr[2] = "katja" & !pavlovks
+$questsArr[3] = "vicky" & !pavlovks
+$questsArr[4] = "albina" & !pavlovks
+$questsArr[5] = "model" & !city 
+$questsArr[6] = "pornstudio" & !city 
+$questsArr[7] = "mira"  & !gad
+$questsArr[8] = "larishka" & !pavlovks
+$questsArr[9] = "bdsm" & !city 
+
+
+!!quests to city relation
+questCityArr[0] = 3
+questCityArr[1] = 3
+questCityArr[2] = 3
+questCityArr[3] = 3
+questCityArr[4] = 3
+questCityArr[5] = 2
+questCityArr[6] = 2
+questCityArr[7] = 4
+questCityArr[8] = 3
+questCityArr[9] = 2
+!!questCityArr[$questsArr[0]] = "Pavlovsk"
+!!questCityArr[$questsArr[1]] = "Pavlovsk"
+!!questCityArr[$questsArr[2]] = "Pavlovsk"
+!!questCityArr[$questsArr[3]] = "Pavlovsk"
+!!questCityArr[$questsArr[4]] = "Pavlovsk"
+!!questCityArr[$questsArr[5]] = "St.Petersburg"
+!!questCityArr[$questsArr[6]] = "St.Petersburg"
+!!questCityArr[$questsArr[7]] = "Gadukino"
+!!questCityArr[$questsArr[8]] = "Pavlovsk"
+!!questCityArr[$questsArr[9]] = "St.Petersburg"
 
 $questsDisplay 
 
@@ -22,12 +47,96 @@ journalBuilder['trackedQuests'] = 0
 !!journalBuilder['hideHeader'] toggle header on/off
 !!journalBuilder['questsMenu'] shows what menu item is currently active
 
-$journalQuestsMenuOptions[0] = "Selected"
+$journalQuestsMenuOptions[0] = "Active"
 $journalQuestsMenuOptions[1] = "All"
 $journalQuestsMenuOptions[2] = "St.Petersburg"
 $journalQuestsMenuOptions[3] = "Pavlovsk"
 $journalQuestsMenuOptions[4] = "Gadukino"
 
+pinnedQuests[0] = 0
+
+
+if $args[0] = "pinned":
+    if $args[1] = "add":
+        !!check if already in array
+        args[2]
+        tempCheckArray = arrpos('pinnedQuests', args[2])
+        if tempCheckArray = -1 or arrsize('pinnedQuests') = 0: pinnedQuests[]=args[2]                        
+    end
+    if $args[1] = "remove":
+        tempCheckArray = arrpos('pinnedQuests', args[2])      
+        if tempCheckArray ! -1:            
+            killvar 'pinnedQuests', tempCheckArray
+        end       
+    end
+    if $args[1] = "unpin":
+        gs $this, 'pinned', 'remove', args[2]
+        gs $this, 'active', 'add', args[2]
+    end
+    if $args[1] = "sort":
+        tempCheckArray = arrpos('pinnedQuests', args[2])     
+        tempFirstIndex = tempCheckArray                
+        size = arrsize('pinnedQuests')
+        !!depending on if we move quest up or down the list
+        if args[3] = 0:            
+            tempSecondIndex = tempCheckArray - 1
+        else
+            tempSecondIndex = tempCheckArray + 1
+        end
+        tempValue = pinnedQuests[tempFirstIndex]
+        pinnedQuests[tempSecondIndex] = pinnedQuests[tempFirstIndex]
+        pinnedQuests[tempFirstIndex] = tempValue
+    end
+end
+if $args[0] = "active":
+    if $args[1] = "add":
+        tempCheckArray = arrpos('activeQuests', args[2])
+        if tempCheckArray = -1 or arrsize('activeQuests') = 0: activeQuests[]=args[2]                        
+    end
+    if $args[1] = "remove":
+        tempCheckArray = arrpos('activeQuests', args[2])     
+        if tempCheckArray ! -1:            
+            killvar 'activeQuests', tempCheckArray
+        end
+       
+    end
+    if $args[1] = "pin":        
+        gs $this, 'active', 'remove', args[2]
+        gs $this, 'pinned', 'add', args[2]
+    end
+    if $args[1] = "sort":
+        tempCheckArray = arrpos('activeQuests', args[2])     
+        tempFirstIndex = tempCheckArray                
+        size = arrsize('activeQuests')
+        !!depending on if we move quest up or down the list
+        if args[3] = 0:            
+            tempSecondIndex = tempCheckArray - 1
+        else
+            tempSecondIndex = tempCheckArray + 1
+        end
+        tempValue = activeQuests[tempFirstIndex]
+        activeQuests[tempSecondIndex] = activeQuests[tempFirstIndex]
+        activeQuests[tempFirstIndex] = tempValue
+    end
+end
+
+if $args[0] = "track":
+    if (arrpos('pinnedQuests', args[1]) = -1) and (arrpos('activeQuests', args[1]) = -1):
+        gs $this, 'active', 'add', args[1]
+    end
+end
+
+if $args[0] = "untrack":
+    gs $this, 'pinned', 'remove', args[1]
+    gs $this, 'active', 'remove', args[1]
+end
+
+if $args[0] = "locationFiltered":
+    if $args[1] = "track":
+    end
+end
+
+
 $journalMenuItem = {
     *p '<th><a href="exec:dynamic ''journalBuilder['questsMenu'] = val($args[0])'' & gs ''journal_quests_build''">'+ iif(journalBuilder['questsMenu'] = val($args[0]), '><h2><<$journalQuestsMenuOptions[val($args[0])]>><h2><','<h3><<$journalQuestsMenuOptions[val($args[0])]>></h3>') +'</a></th>'
 }
@@ -37,11 +146,22 @@ act 'Put your journal down': gt $menu_loc, $menu_arg
 act 'Return to top journal page': gt 'journal', 'records'
 $jumploc = 'questtab'
 
+
+
 !!hiding journal header to clear more space
 if journalBuilder['hideHeader'] = 0:
     gs 'journal', 'journalmenu'
     '<center><h2>Quests</h2></center>' 
 end
+
+"Args"
+"0: <<args[0]>>"
+"1: <<args[1]>>"
+"2: <<args[2]>>"
+"3: <<args[3]>>"
+
+$this = 'journal_quests_build'
+
 !!*p '<table width="90%" align="center" width="90%" cellspacing="0" cellpadding="0" valign="top"><tr>' 
 *p '<table width="90%" align="center" cellspacing="10" cellpadding="0" valign="top"><tr>' 
 !!dynamic "$buildJournalMenuItems"
@@ -51,17 +171,63 @@ size = arrsize('$journalQuestsMenuOptions')
 *p '<th><a href="exec:journalBuilder[''questsMenu''] = <<i>> & gs ''journal_quests_build''">'+ iif(journalBuilder['questsMenu'] = i, '<h2>' + '> <<$journalQuestsMenuOptions[i]>> <' + '<h2>','<h3><<$journalQuestsMenuOptions[i]>></h3>') +'</a></th>'
 if i < size: i += 1 & jump 'loopJournalMenu'
 *p '<th><a href="exec:journalBuilder[''hideHeader''] = '+iif(journalBuilder['hideHeader'] = 0, 1, 0)+' & gs ''journal_quests_build''">'+iif(journalBuilder['hideHeader'] = 0, '^', 'v')+'</a></th>'
-killvar 'i' & killvar 'size'
 *p '</tr></table>'
 
-if journalBuilder['questsMenu'] = 0:
-    *pl "Display pinned quests"
+
+
+if journalBuilder['questsMenu'] = 0:    
+    if (arrsize('pinnedQuests') > 0):
+        "Pinned quests:"
+        *nl
+        size = arrsize('pinnedQuests')
+        i = 0
+        :loopPinnedArr
+        if i < size:
+            *p $questsArr[pinnedQuests[i]]
+            if i > 0 and (i + 1) < size : *p '<a href="exec:gs $this, ''pinned'', ''sort'', <<i>>, 0">Up</a> | '
+            if i < (size - 2): *p '<a href="exec:gs $this, ''pinned'', ''sort'', <<i>>, 1">Down</a> | '
+            *p '<a href="exec:gs $this, ''pinned'', ''unpin'', <<i>>">Unpin</a> | '
+            *p '<a href="exec:gs $this, ''untrack'', <<i>>">Untrack</a>'
+            *nl
+            i += 1 & jump 'loopPinnedArr'
+        end        
+    end
     *nl
-    *pl "Display other quests"
+    *nl
+    if (arrsize('activeQuests') > 0):
+        "Active quests:"
+        *nl
+        size = arrsize('activeQuests')
+        i = 0
+        :loopActiveArr
+        if i < size:
+            *p $questsArr[activeQuests[i]]  
+            if i > 0 and (i + 1) < size : *p '<a href="exec:gs $this, ''active'', ''sort'', <<i>>, 0">Up</a> | '
+            if i < (size - 2): *p '<a href="exec:gs $this, ''active'', ''sort'', <<i>>, 1">Down</a> | '
+            *p '<a href="exec:gs $this, ''active'', ''unpin'', <<i>>">Unpin</a> | '
+            *p '<a href="exec:gs $this, ''untrack'', <<i>>">Untrack</a>'
+            *nl
+            i += 1 & jump 'loopActiveArr'            
+        end         
+    end
 end
 
 if journalBuilder['questsMenu'] = 1:
-    *pl "Display all quests"
+    *pl "All available quests"
+    i = 0
+    size = arrsize('$questsArr')  
+    :loopAllQuests
+    if arrsize('activeQuests', i) = 0 and arrsize('pinnedQuests', i) 
+    if i < size:
+        *p $questsArr[i]
+        *p "; isActive = " + tempIsActive + "; is Pinned ="+ tempIsPinned +";   "
+        if tempIsActive = -1 and tempIsPinned = -1:
+            *p '<a href="exec:gs $this, ''pinned'', ''add'', <<i>>">Pin</a> | '
+            *p '<a href="exec:gs $this, ''track'', <<i>>">Track</a>'
+        end
+        *nl
+        i += 1 & jump 'loopAllQuests'
+    end        
 end
 if journalBuilder['questsMenu'] = 2:
     *pl "Display City quests"
@@ -74,5 +240,7 @@ if journalBuilder['questsMenu'] = 4:
 end
 
 
+
+
 --- journal_quests_build ---------------------------------